You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gi...@apache.org on 2025/01/17 13:26:04 UTC
(hive-site) branch asf-site updated: deploy: 7087446ac1b26c1acc8309f61dce6642a81bb7b8
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 1d41673 deploy: 7087446ac1b26c1acc8309f61dce6642a81bb7b8
1d41673 is described below
commit 1d4167347bacc08d543ff4072249fca43515b831
Author: zabetak <za...@users.noreply.github.com>
AuthorDate: Fri Jan 17 13:25:59 2025 +0000
deploy: 7087446ac1b26c1acc8309f61dce6642a81bb7b8
---
docs/latest/283118453/index.html | 384 +++-
docs/latest/44302539/index.html | 37 +-
docs/latest/45876173/index.html | 378 +++-
docs/latest/67641451/index.html | 1084 +++++++++--
docs/latest/73632935/index.html | 1231 ++++++++++--
docs/latest/97551656/index.html | 1894 ++++++++++++++++---
.../adminmanual-configuration_27362070/index.html | 120 +-
.../index.html | 48 +-
.../index.html | 16 +-
.../committed-jiras-for-1-2-1_58851880/index.html | 878 +++++----
.../index.html | 668 ++++---
.../different-timestamp-types_103091503/index.html | 74 +-
docs/latest/druid-integration_65866491/index.html | 546 +++---
.../genericudafcasestudy_27362093/index.html | 76 +-
docs/latest/hbaseintegration_27362089/index.html | 546 +++---
.../hive-1-2-release-status_55156189/index.html | 77 +-
docs/latest/hive-aws-emr_27823791/index.html | 165 +-
.../hive-configurations_283118321/index.html | 11 +-
.../index.html | 35 +-
docs/latest/hive-metatool_55156221/index.html | 48 +-
docs/latest/hive-transactions_40509723/index.html | 231 ++-
docs/latest/hive-udfs_282102277/index.html | 1962 +++++++++++++-------
.../hiveamazonelasticmapreduce_27825646/index.html | 160 +-
docs/latest/hiveodbc_27362099/index.html | 220 ++-
docs/latest/index.xml | 4 +-
docs/latest/indexdev_27362104/index.html | 550 +++---
docs/latest/kudu-integration_133631955/index.html | 6 +-
.../languagemanual-lateralview_27362040/index.html | 175 +-
docs/latest/languagemanual-udf_27362046/index.html | 138 +-
docs/latest/locking_27362050/index.html | 98 +-
docs/latest/materialized-views_80447331/index.html | 544 +++---
docs/latest/outerjoinbehavior_35749927/index.html | 30 +-
docs/latest/query-reexecution_87298873/index.html | 43 +-
docs/latest/statsdev_27362062/index.html | 678 ++++---
docs/latest/theta-join_33293991/index.html | 46 +-
.../index.html | 48 +-
docs/latest/viewdev_27362067/index.html | 30 +-
index.xml | 4 +-
38 files changed, 9572 insertions(+), 3711 deletions(-)
diff --git a/docs/latest/283118453/index.html b/docs/latest/283118453/index.html
index 4c63389..d2bbb5e 100644
--- a/docs/latest/283118453/index.html
+++ b/docs/latest/283118453/index.html
@@ -244,60 +244,336 @@ drwxr-xr-x - ekoifman staff 0 2016-06-09 17:07 /user/hive/warehouse/t
<p>The following sections list all of the configuration parameters that affect Hive transactions and compaction. Also see <a href=#limitations>Limitations</a> above and <a href=#table-properties>Table Properties</a> below.</p>
<h3 id=new-configuration-parameters-for-transactions>New Configuration Parameters for Transactions</h3>
<p>A number of new configuration parameters have been added to the system to support transactions.</p>
-<p>| <strong>Configuration key</strong> | <strong>Values</strong> | <strong>Location</strong> | <strong>Notes</strong> |
-| <a href=#hive-txn-manager>hive.txn.manager</a> | <em>Default:</em> org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager<em>Value required for transactions:</em> org.apache.hadoop.hive.ql.lockmgr.DbTxnManager | Client/HiveServer2 | DummyTxnManager replicates pre Hive-0.13 behavior and provides no transactions. |
-| <a href=#hive-txn-strict-locking-mode>hive.txn.strict.locking.mode</a> | <em>Default:</em> true | Client/ HiveServer2 | In strict mode non-ACID resources use standard R/W lock semantics, e.g. INSERT will acquire exclusive lock. In non-strict mode, for non-ACID resources, INSERT will only acquire shared lock, which allows two concurrent writes to the same partition but still lets lock manager prevent DROP TABLE etc. when the table is being written to (as of <a href=https://issues.apache [...]
-| <a href=#hive-txn-timeout>hive.txn.timeout</a> deprecated. Use metastore.txn.timeout instead | <em>Default:</em> 300 | Client/HiveServer2/Metastore | Time after which transactions are declared aborted if the client has not sent a heartbeat, in seconds. It’s critical that this property has the same value for all components/services.5 |
-| <a href=https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-hive.txn.heartbeat.threadpool.size>hive.txn.heartbeat.threadpool.size</a> deprecated - but still in use | <em>Default:</em> 5 | Client/HiveServer2 | The number of threads to use for heartbeating (as of <a href=https://issues.apache.org/jira/browse/HIVE-12366>Hive 1.3.0 and 2.0.0</a>). |
-| <a href=#hive-timedout-txn-reaper-start>hive.timedout.txn.reaper.start</a> deprecated | <em>Default:</em> 100s | Metastore | Time delay of first reaper (the process which aborts timed-out transactions) run after the metastore starts (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above. |
-| <a href=#hive-timedout-txn-reaper-interval>hive.timedout.txn.reaper.interval</a> deprecated | <em>Default:</em> 180s | Metastore | Time interval describing how often the reaper (the process which aborts timed-out transactions) runs (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above. |
-| <a href=#hive-txn-max-open-batch>hive.txn.max.open.batch</a> deprecated. Use metastore.txn.max.open.batch instead | <em>Default:</em> 1000 | Client | Maximum number of transactions that can be fetched in one call to open_txns().1 |
-| <a href=#hive-max-open-txns>hive.max.open.txns</a> deprecated. Use metastore.max.open.txns instead. | <em>Default:</em> 100000 | HiveServer2/ Metastore | Maximum number of open transactions. If current open transactions reach this limit, future open transaction requests will be rejected, until the number goes below the limit. (As of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>.) |
-| <a href=#hive-count-open-txns-interval>hive.count.open.txns.interval</a> deprecated. Use metastore.count.open.txns.interval instead. | <em>Default:</em> 1s | HiveServer2/ Metastore | Time in seconds between checks to count open transactions (as of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>). |
-| <a href=#hive-txn-retryable-sqlex-regex>hive.txn.retryable.sqlex.regex</a> deprecated. Use metastore.txn.retryable.sqlex.regex instead. | <em>Default:</em> "" (empty string) | HiveServer2/ Metastore | Comma separated list of regular expression patterns for SQL state, error code, and error message of retryable SQLExceptions, that’s suitable for the Hive metastore database (as of <a href=https://issues.apache.org/jira/browse/HIVE-12637>Hive 1.3.0 and 2.1.0</a>).For an example, see [...]
-| hive.compaction.merge.enabled | <em>Default:</em> false | HiveServer2 | Enables merge-based compaction which is a compaction optimization when few ORC delta files are present |
-| hive.compactor.initiator.duration.update.interval | <em>Default:</em> 60s | HiveServer2 | Time in seconds that drives the update interval of compaction_initiator_duration metric.Smaller value results in a fine grained metric update.This updater can be turned off if its value less than or equals to zero.In this case the above metric will be update only after the initiator completed one cycle.The hive.compactor.initiator.on must be turned on (true) in-order to enable the Initiator,otherw [...]
-| <a href=#hive-compactor-initiator-on>hive.compactor.initiator.on</a> deprecated. Use metastore.compactor.initiator.on instead. | <em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service) | Metastore | Whether to run the initiator thread on this metastore instance. Prior to <a href=https://issues.apache.org/jira/browse/HIVE-11388>Hive 1.3.0</a> it’s critical that this is enabled on exactly one standalone metast [...]
-| hive.compactor.cleaner.duration.update.interval | <em>Default:</em> 60s | HiveServer2 | Time in seconds that drives the update interval of compaction_cleaner_duration metric.Smaller value results in a fine grained metric update.This updater can be turned off if its value less than or equals to zero.In this case the above metric will be update only after the cleaner completed one cycle. |
-| <a href=#hive-compactor-cleaner-on>hive.compactor.cleaner.on</a> deprecated. Use metastore.compactor.cleaner.on instead. | <em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service) | Metastore | Whether to run the cleaner thread on this metastore instance. Before <strong>Hive 4.0.0</strong> Cleaner thread can be started/stopped with config hive.compactor.initiator.on. This config helps to enable/disable initiator/cl [...]
-| hive.compactor.cleaner.threads.num | <em>Default:</em> 1 | HiveServer2 | Enables parallelization of the cleaning directories after compaction, that includes many file related checks and may be expensive |
-| hive.compactor.compact.insert.only | <em>Default:</em> true | HiveServer2 | Whether the compactor should compact insert-only tables. A safety switch. |
-| hive.compactor.crud.query.based | <em>Default</em>: false | HiveServer2 | Means compaction on full CRUD tables is done via queries. Compactions on insert-only tables will always run via queries regardless of the value of this configuration. |
-| hive.compactor.gather.stats | <em>Default:</em> true | HiveServer2 | If set to true MAJOR compaction will gather stats if there are stats already associated with the table/partition.Turn this off to save some resources and the stats are not used anyway.This is a replacement for the HIVE_MR_COMPACTOR_GATHER_STATS config, and works both for MR and Query based compaction. |
-| metastore.compactor.initiator.failed.retry.time | <em>Default: 7d</em> | Metastore | Time after Initiator will ignore metastore.compactor.initiator.failed.compacts.threshold and retry with compaction again. This will try to auto heal tables with previous failed compaction without manual intervention. Setting it to 0 or negative value will disable this feature. |
-| metastore.compactor.long.running.initiator.threshold.warning | <em>Default:</em> 6h | Metastore | Initiator cycle duration after which a warning will be logged. Default time unit is: hours |
-| metastore.compactor.long.running.initiator.threshold.error | <em>Default:</em> 12h | Metastore | Initiator cycle duration after which an error will be logged. Default time unit is: hours |
-| hive.compactor.worker.sleep.time | <em>Default:<em>10800ms | HiveServer2 | Time in milliseconds for which a worker threads goes into sleep before starting another iteration in case of no launched job or error |
-| hive.compactor.worker.max.sleep.time | <em>Default:</em> 320000ms | HiveServer2 | Max time in milliseconds for which a worker threads goes into sleep before starting another iteration used for backoff in case of no launched job or error |
-| <a href=#hive-compactor-worker-threads>hive.compactor.worker.threads</a> deprecated. Use metastore.compactor.worker.threads instead. | <em>Default:</em> 0</em>Value required for transactions:</em> > 0 on at least one instance of the Thrift metastore service | Metastore | How many compactor worker threads to run on this metastore instance.2 |
-| <a href=#hive-compactor-worker-timeout>hive.compactor.worker.timeout</a> | <em>Default:</em> 86400s | Metastore | Time in seconds after which a compaction job will be declared failed and the compaction re-queued. |
-| <a href=#hive-compactor-cleaner-run-interval>hive.compactor.cleaner.run.interval</a> | <em>Default</em>: 5000ms | Metastore | Time in milliseconds between runs of the cleaner thread. (<a href=https://issues.apache.org/jira/browse/HIVE-8258>Hive 0.14.0</a> and later.) |
-| <a href=#hive-compactor-check-interval>hive.compactor.check.interval</a> | <em>Default:</em> 300s | Metastore | Time in seconds between checks to see if any tables or partitions need to be compacted.3 |
-| <a href=#hive-compactor-delta-num-threshold>hive.compactor.delta.num.threshold</a> | <em>Default:</em> 10 | Metastore | Number of delta directories in a table or partition that will trigger a minor compaction. |
-| <a href=#hive-compactor-delta-pct-threshold>hive.compactor.delta.pct.threshold</a> | <em>Default:</em> 0.1 | Metastore | Percentage (fractional) size of the delta files relative to the base that will trigger a major compaction. 1 = 100%, so the default 0.1 = 10%. |
-| <a href=#hive-compactor-abortedtxn-threshold>hive.compactor.abortedtxn.threshold</a> | <em>Default:</em> 1000 | Metastore | Number of aborted transactions involving a given table or partition that will trigger a major compaction. |
-| <a href=#hive-compactor-aborted-txn-time-threshold>hive.compactor.aborted.txn.time.threshold</a> | <em>Default</em>: 12h | Metastore | Age of table/partition’s oldest aborted transaction when compaction will be triggered. Default time unit is: hours. Set to a negative number to disable. |
-| <a href=#hive-compactor-max-num-delta>hive.compactor.max.num.delta</a> | Default: 500 | Metastore | Maximum number of delta files that the compactor will attempt to handle in a single job (as of <a href=https://issues.apache.org/jira/browse/HIVE-11540>Hive 1.3.0</a>).4 |
-| <a href=#hive-compactor-job-queue>hive.compactor.job.queue</a> | <em>Default</em>: "" (empty string) | Metastore | Used to specify name of Hadoop queue to which Compaction jobs will be submitted. Set to empty string to let Hadoop choose the queue (as of <a href=https://issues.apache.org/jira/browse/HIVE-11997>Hive 1.3.0</a>). |
-| hive.compactor.request.queue | <em>Default:</em> 1 | HiveServer2 | Enables parallelization of the checkForCompaction operation, that includes many file metadata checksand may be expensive |
-| hive.split.grouping.mode | <em>Default:</em> query (Allowed values: query, compactor) | HiveServer2 | This is set to compactor from within the query based compactor. This enables the Tez SplitGrouper to group splits based on their bucket number, so that all rows from different bucket files for the same bucket number can end up in the same bucket file after the compaction. |
-| hive.txn.xlock.iow | Default: true | HiveServer2 | Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks fortransactional tables. This ensures that inserts (w/o overwrite) running concurrentlyare not hidden by the INSERT OVERWRITE. |
-| hive.txn.xlock.write | <em>Default</em>: true | HiveServer2 | Manages concurrency levels for ACID resources. Provides better level of query parallelism by enabling shared writes and write-write conflict resolution at the commit step.- If true - exclusive writes are used: - INSERT OVERWRITE acquires EXCLUSIVE locks - UPDATE/DELETE acquire EXCL_WRITE locks - INSERT acquires SHARED_READ locks- If false - shared writes, transaction is aborted in case of conflicting changes: - INSERT OV [...]
-| metastore.acidmetrics.ext.on | <em>Default:</em> true | HiveServer2 | Whether to collect additional acid related metrics outside of the acid metrics service. (metastore.metrics.enabled and/or hive.server2.metrics.enabled are also required to be set to true.) |
-| Compaction History |
-| hive.compactor.history.retention.succeeded deprecated. Use metastore.compactor.history.retention.succeeded instead | Default: 3 | Metastore | Number of successful compaction entries to retain in history (per partition). |
-| hive.compactor.history.retention.failed deprecated. Use metastore.compactor.history.retention.failed instead. | Default: 3 | Metastore | Number of failed compaction entries to retain in history (per partition). |
-| hive.compactor.history.retention.attempted deprecated. Use metastore.compactor.history.retention.did.not.initiate instead. | Default: 2 | Metastore | Number of attempted compaction entries to retain in history (per partition). |
-| hive.compactor.initiator.failed.compacts.threshold deprecated. Use metastore.compactor.initiator.failed.compacts.threshold instead. | Default: 2 | Metastore | Number of of consecutive failed compactions for a given partition after which the Initiator will stop attempting to schedule compactions automatically. It is still possible to use <a href=https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/PartitionCompact>ALTER TABLE</a> to initiate c [...]
-| metastore.compactor.initiator.failed.compacts.threshold | <em>Default</em>: 2 (Allowed between 1 and 20) | Metastore | Number of consecutive compaction failures (per table/partition) after which automatic compactions will not be scheduled any more. Note that this must be less than hive.compactor.history.retention.failed. |
-| hive.compactor.history.reaper.interval deprecated. metastore.acid.housekeeper.interval handles it. | Default: 2m | Metastore | Controls how often the process to purge historical record of compactions runs. |
-| ACID metrics | | | |
-| metastore.acidmetrics.check.interval | <em>Default</em>: 300s | Metastore | Time in seconds between acid related metric collection runs. |
-| metastore.acidmetrics.thread.on | <em>Default:</em> true | Metastore | Whether to run acid related metrics collection on this metastore instance. |
-| metastore.deltametrics.delta.num.threshold | <em>Deafult:</em> 100 | Metastore | The minimum number of active delta files a table/partition must have in order to be included in the ACID metrics report. |
-| metastore.deltametrics.delta.pct.threshold | <em>Default:</em> 0.01 | Metastore | Percentage (fractional) size of the delta files relative to the base directory. Deltas smaller than this threshold count as small deltas. Default 0.01 = 1%.) |
-| metastore.deltametrics.max.cache.size | <em>Default:</em> 100 (Allowed between 0 and 500) | Metastore | Size of the ACID metrics cache, i.e. max number of partitions and unpartitioned tables with the most deltas that will be included in the lists of active, obsolete and small deltas. Allowed range is 0 to 500. |
-| metastore.deltametrics.obsolete.delta.num.threshold | <em>Default:</em> 100 | Metastore | The minimum number of obsolete delta files a table/partition must have in order to be included in the ACID metrics report. |</p>
+<table>
+<thead>
+<tr>
+<th><strong>Configuration key</strong></th>
+<th><strong>Values</strong></th>
+<th><strong>Location</strong></th>
+<th><strong>Notes</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><a href=#hive-txn-manager>hive.txn.manager</a> </td>
+<td><em>Default:</em> org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager<em>Value required for transactions:</em> org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</td>
+<td>Client/HiveServer2</td>
+<td>DummyTxnManager replicates pre Hive-0.13 behavior and provides no transactions.</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-strict-locking-mode>hive.txn.strict.locking.mode</a></td>
+<td><em>Default:</em> true</td>
+<td>Client/ HiveServer2</td>
+<td>In strict mode non-ACID resources use standard R/W lock semantics, e.g. INSERT will acquire exclusive lock. In non-strict mode, for non-ACID resources, INSERT will only acquire shared lock, which allows two concurrent writes to the same partition but still lets lock manager prevent DROP TABLE etc. when the table is being written to (as of <a href=https://issues.apache.org/jira/browse/HIVE-15774>Hive 2.2.0</a>).</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-timeout>hive.txn.timeout</a> deprecated. Use metastore.txn.timeout instead</td>
+<td><em>Default:</em> 300</td>
+<td>Client/HiveServer2/Metastore </td>
+<td>Time after which transactions are declared aborted if the client has not sent a heartbeat, in seconds. It’s critical that this property has the same value for all components/services.5</td>
+</tr>
+<tr>
+<td><a href=https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-hive.txn.heartbeat.threadpool.size>hive.txn.heartbeat.threadpool.size</a> deprecated - but still in use</td>
+<td><em>Default:</em> 5</td>
+<td>Client/HiveServer2</td>
+<td>The number of threads to use for heartbeating (as of <a href=https://issues.apache.org/jira/browse/HIVE-12366>Hive 1.3.0 and 2.0.0</a>).</td>
+</tr>
+<tr>
+<td><a href=#hive-timedout-txn-reaper-start>hive.timedout.txn.reaper.start</a> deprecated</td>
+<td><em>Default:</em> 100s</td>
+<td>Metastore</td>
+<td>Time delay of first reaper (the process which aborts timed-out transactions) run after the metastore starts (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above.</td>
+</tr>
+<tr>
+<td><a href=#hive-timedout-txn-reaper-interval>hive.timedout.txn.reaper.interval</a> deprecated</td>
+<td><em>Default:</em> 180s</td>
+<td>Metastore</td>
+<td>Time interval describing how often the reaper (the process which aborts timed-out transactions) runs (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above.</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-max-open-batch>hive.txn.max.open.batch</a> deprecated. Use metastore.txn.max.open.batch instead</td>
+<td><em>Default:</em> 1000</td>
+<td>Client</td>
+<td>Maximum number of transactions that can be fetched in one call to open_txns().1</td>
+</tr>
+<tr>
+<td><a href=#hive-max-open-txns>hive.max.open.txns</a> deprecated. Use metastore.max.open.txns instead.</td>
+<td><em>Default:</em> 100000</td>
+<td>HiveServer2/ Metastore</td>
+<td>Maximum number of open transactions. If current open transactions reach this limit, future open transaction requests will be rejected, until the number goes below the limit. (As of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>.)</td>
+</tr>
+<tr>
+<td><a href=#hive-count-open-txns-interval>hive.count.open.txns.interval</a> deprecated. Use metastore.count.open.txns.interval instead.</td>
+<td><em>Default:</em> 1s</td>
+<td>HiveServer2/ Metastore</td>
+<td>Time in seconds between checks to count open transactions (as of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>).</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-retryable-sqlex-regex>hive.txn.retryable.sqlex.regex</a> deprecated. Use metastore.txn.retryable.sqlex.regex instead.</td>
+<td><em>Default:</em> "" (empty string)</td>
+<td>HiveServer2/ Metastore</td>
+<td>Comma separated list of regular expression patterns for SQL state, error code, and error message of retryable SQLExceptions, that’s suitable for the Hive metastore database (as of <a href=https://issues.apache.org/jira/browse/HIVE-12637>Hive 1.3.0 and 2.1.0</a>).For an example, see <a href=#configuration-properties>Configuration Properties</a>.</td>
+</tr>
+<tr>
+<td>hive.compaction.merge.enabled</td>
+<td><em>Default:</em> false</td>
+<td>HiveServer2</td>
+<td>Enables merge-based compaction which is a compaction optimization when few ORC delta files are present</td>
+</tr>
+<tr>
+<td>hive.compactor.initiator.duration.update.interval</td>
+<td><em>Default:</em> 60s</td>
+<td>HiveServer2</td>
+<td>Time in seconds that drives the update interval of compaction_initiator_duration metric.Smaller value results in a fine grained metric update.This updater can be turned off if its value less than or equals to zero.In this case the above metric will be update only after the initiator completed one cycle.The hive.compactor.initiator.on must be turned on (true) in-order to enable the Initiator,otherwise this setting has no effect.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-initiator-on>hive.compactor.initiator.on</a> deprecated. Use metastore.compactor.initiator.on instead.</td>
+<td><em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service)</td>
+<td>Metastore</td>
+<td>Whether to run the initiator thread on this metastore instance. Prior to <a href=https://issues.apache.org/jira/browse/HIVE-11388>Hive 1.3.0</a> it’s critical that this is enabled on exactly one standalone metastore service instance (not enforced yet).As of <a href=https://issues.apache.org/jira/browse/HIVE-11388>Hive 1.3.0</a> this property may be enabled on any number of standalone metastore instances.</td>
+</tr>
+<tr>
+<td>hive.compactor.cleaner.duration.update.interval</td>
+<td><em>Default:</em> 60s</td>
+<td>HiveServer2</td>
+<td>Time in seconds that drives the update interval of compaction_cleaner_duration metric.Smaller value results in a fine grained metric update.This updater can be turned off if its value less than or equals to zero.In this case the above metric will be update only after the cleaner completed one cycle.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-cleaner-on>hive.compactor.cleaner.on</a> deprecated. Use metastore.compactor.cleaner.on instead.</td>
+<td><em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service)</td>
+<td>Metastore</td>
+<td>Whether to run the cleaner thread on this metastore instance. Before <strong>Hive 4.0.0</strong> Cleaner thread can be started/stopped with config hive.compactor.initiator.on. This config helps to enable/disable initiator/cleaner threads independently</td>
+</tr>
+<tr>
+<td>hive.compactor.cleaner.threads.num</td>
+<td><em>Default:</em> 1</td>
+<td>HiveServer2</td>
+<td>Enables parallelization of the cleaning directories after compaction, that includes many file related checks and may be expensive</td>
+</tr>
+<tr>
+<td>hive.compactor.compact.insert.only</td>
+<td><em>Default:</em> true</td>
+<td>HiveServer2</td>
+<td>Whether the compactor should compact insert-only tables. A safety switch.</td>
+</tr>
+<tr>
+<td>hive.compactor.crud.query.based</td>
+<td><em>Default</em>: false</td>
+<td>HiveServer2</td>
+<td>Means compaction on full CRUD tables is done via queries. Compactions on insert-only tables will always run via queries regardless of the value of this configuration.</td>
+</tr>
+<tr>
+<td>hive.compactor.gather.stats</td>
+<td><em>Default:</em> true</td>
+<td>HiveServer2</td>
+<td>If set to true MAJOR compaction will gather stats if there are stats already associated with the table/partition.Turn this off to save some resources and the stats are not used anyway.This is a replacement for the HIVE_MR_COMPACTOR_GATHER_STATS config, and works both for MR and Query based compaction.</td>
+</tr>
+<tr>
+<td>metastore.compactor.initiator.failed.retry.time</td>
+<td><em>Default: 7d</em></td>
+<td>Metastore</td>
+<td>Time after Initiator will ignore metastore.compactor.initiator.failed.compacts.threshold and retry with compaction again. This will try to auto heal tables with previous failed compaction without manual intervention. Setting it to 0 or negative value will disable this feature.</td>
+</tr>
+<tr>
+<td>metastore.compactor.long.running.initiator.threshold.warning</td>
+<td><em>Default:</em> 6h</td>
+<td>Metastore</td>
+<td>Initiator cycle duration after which a warning will be logged. Default time unit is: hours</td>
+</tr>
+<tr>
+<td>metastore.compactor.long.running.initiator.threshold.error</td>
+<td><em>Default:</em> 12h</td>
+<td>Metastore</td>
+<td>Initiator cycle duration after which an error will be logged. Default time unit is: hours</td>
+</tr>
+<tr>
+<td>hive.compactor.worker.sleep.time</td>
+<td>*Default:*10800ms</td>
+<td>HiveServer2</td>
+<td>Time in milliseconds for which a worker threads goes into sleep before starting another iteration in case of no launched job or error</td>
+</tr>
+<tr>
+<td>hive.compactor.worker.max.sleep.time</td>
+<td><em>Default:</em> 320000ms</td>
+<td>HiveServer2</td>
+<td>Max time in milliseconds for which a worker threads goes into sleep before starting another iteration used for backoff in case of no launched job or error</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-worker-threads>hive.compactor.worker.threads</a> deprecated. Use metastore.compactor.worker.threads instead.</td>
+<td><em>Default:</em> 0<em>Value required for transactions:</em> > 0 on at least one instance of the Thrift metastore service</td>
+<td>Metastore</td>
+<td>How many compactor worker threads to run on this metastore instance.2</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-worker-timeout>hive.compactor.worker.timeout</a></td>
+<td><em>Default:</em> 86400s</td>
+<td>Metastore</td>
+<td>Time in seconds after which a compaction job will be declared failed and the compaction re-queued.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-cleaner-run-interval>hive.compactor.cleaner.run.interval</a></td>
+<td><em>Default</em>: 5000ms</td>
+<td>Metastore</td>
+<td>Time in milliseconds between runs of the cleaner thread. (<a href=https://issues.apache.org/jira/browse/HIVE-8258>Hive 0.14.0</a> and later.)</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-check-interval>hive.compactor.check.interval</a></td>
+<td><em>Default:</em> 300s</td>
+<td>Metastore</td>
+<td>Time in seconds between checks to see if any tables or partitions need to be compacted.3</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-delta-num-threshold>hive.compactor.delta.num.threshold</a></td>
+<td><em>Default:</em> 10</td>
+<td>Metastore</td>
+<td>Number of delta directories in a table or partition that will trigger a minor compaction.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-delta-pct-threshold>hive.compactor.delta.pct.threshold</a></td>
+<td><em>Default:</em> 0.1</td>
+<td>Metastore</td>
+<td>Percentage (fractional) size of the delta files relative to the base that will trigger a major compaction. 1 = 100%, so the default 0.1 = 10%.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-abortedtxn-threshold>hive.compactor.abortedtxn.threshold</a></td>
+<td><em>Default:</em> 1000</td>
+<td>Metastore</td>
+<td>Number of aborted transactions involving a given table or partition that will trigger a major compaction.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-aborted-txn-time-threshold>hive.compactor.aborted.txn.time.threshold</a></td>
+<td><em>Default</em>: 12h</td>
+<td>Metastore</td>
+<td>Age of table/partition’s oldest aborted transaction when compaction will be triggered. Default time unit is: hours. Set to a negative number to disable.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-max-num-delta>hive.compactor.max.num.delta</a></td>
+<td>Default: 500</td>
+<td>Metastore</td>
+<td>Maximum number of delta files that the compactor will attempt to handle in a single job (as of <a href=https://issues.apache.org/jira/browse/HIVE-11540>Hive 1.3.0</a>).4</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-job-queue>hive.compactor.job.queue</a></td>
+<td><em>Default</em>: "" (empty string)</td>
+<td> Metastore</td>
+<td> Used to specify name of Hadoop queue to which Compaction jobs will be submitted. Set to empty string to let Hadoop choose the queue (as of <a href=https://issues.apache.org/jira/browse/HIVE-11997>Hive 1.3.0</a>).</td>
+</tr>
+<tr>
+<td>hive.compactor.request.queue</td>
+<td><em>Default:</em> 1</td>
+<td>HiveServer2</td>
+<td>Enables parallelization of the checkForCompaction operation, that includes many file metadata checksand may be expensive</td>
+</tr>
+<tr>
+<td>hive.split.grouping.mode</td>
+<td><em>Default:</em> query (Allowed values: query, compactor)</td>
+<td>HiveServer2</td>
+<td>This is set to compactor from within the query based compactor. This enables the Tez SplitGrouper to group splits based on their bucket number, so that all rows from different bucket files for the same bucket number can end up in the same bucket file after the compaction.</td>
+</tr>
+<tr>
+<td>hive.txn.xlock.iow</td>
+<td>Default: true</td>
+<td>HiveServer2</td>
+<td>Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks fortransactional tables. This ensures that inserts (w/o overwrite) running concurrentlyare not hidden by the INSERT OVERWRITE.</td>
+</tr>
+<tr>
+<td>hive.txn.xlock.write</td>
+<td><em>Default</em>: true</td>
+<td>HiveServer2</td>
+<td>Manages concurrency levels for ACID resources. Provides better level of query parallelism by enabling shared writes and write-write conflict resolution at the commit step.- If true - exclusive writes are used: - INSERT OVERWRITE acquires EXCLUSIVE locks - UPDATE/DELETE acquire EXCL_WRITE locks - INSERT acquires SHARED_READ locks- If false - shared writes, transaction is aborted in case of conflicting changes: - INSERT OVERWRITE acquires EXCL_WRITE locks - INSERT/UPDATE/DELETE ac [...]
+</tr>
+<tr>
+<td>metastore.acidmetrics.ext.on</td>
+<td><em>Default:</em> true</td>
+<td>HiveServer2</td>
+<td>Whether to collect additional acid related metrics outside of the acid metrics service. (metastore.metrics.enabled and/or hive.server2.metrics.enabled are also required to be set to true.)</td>
+</tr>
+<tr>
+<td>Compaction History</td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr>
+<td>hive.compactor.history.retention.succeeded deprecated. Use metastore.compactor.history.retention.succeeded instead</td>
+<td>Default: 3</td>
+<td>Metastore</td>
+<td>Number of successful compaction entries to retain in history (per partition).</td>
+</tr>
+<tr>
+<td>hive.compactor.history.retention.failed deprecated. Use metastore.compactor.history.retention.failed instead.</td>
+<td>Default: 3</td>
+<td>Metastore</td>
+<td>Number of failed compaction entries to retain in history (per partition).</td>
+</tr>
+<tr>
+<td>hive.compactor.history.retention.attempted deprecated. Use metastore.compactor.history.retention.did.not.initiate instead.</td>
+<td>Default: 2</td>
+<td>Metastore</td>
+<td>Number of attempted compaction entries to retain in history (per partition).</td>
+</tr>
+<tr>
+<td>hive.compactor.initiator.failed.compacts.threshold deprecated. Use metastore.compactor.initiator.failed.compacts.threshold instead.</td>
+<td>Default: 2</td>
+<td>Metastore</td>
+<td>Number of of consecutive failed compactions for a given partition after which the Initiator will stop attempting to schedule compactions automatically. It is still possible to use <a href=https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/PartitionCompact>ALTER TABLE</a> to initiate compaction. Once a manually initiated compaction succeeds auto initiated compactions will resume. Note that this must be less than hive.compactor.history.rete [...]
+</tr>
+<tr>
+<td>metastore.compactor.initiator.failed.compacts.threshold</td>
+<td><em>Default</em>: 2 (Allowed between 1 and 20)</td>
+<td>Metastore</td>
+<td>Number of consecutive compaction failures (per table/partition) after which automatic compactions will not be scheduled any more. Note that this must be less than hive.compactor.history.retention.failed.</td>
+</tr>
+<tr>
+<td>hive.compactor.history.reaper.interval deprecated. metastore.acid.housekeeper.interval handles it.</td>
+<td>Default: 2m</td>
+<td>Metastore</td>
+<td>Controls how often the process to purge historical record of compactions runs.</td>
+</tr>
+<tr>
+<td>ACID metrics</td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr>
+<td>metastore.acidmetrics.check.interval</td>
+<td><em>Default</em>: 300s</td>
+<td>Metastore</td>
+<td>Time in seconds between acid related metric collection runs.</td>
+</tr>
+<tr>
+<td>metastore.acidmetrics.thread.on</td>
+<td><em>Default:</em> true</td>
+<td>Metastore</td>
+<td>Whether to run acid related metrics collection on this metastore instance.</td>
+</tr>
+<tr>
+<td>metastore.deltametrics.delta.num.threshold</td>
+<td><em>Deafult:</em> 100</td>
+<td>Metastore</td>
+<td>The minimum number of active delta files a table/partition must have in order to be included in the ACID metrics report.</td>
+</tr>
+<tr>
+<td>metastore.deltametrics.delta.pct.threshold</td>
+<td><em>Default:</em> 0.01</td>
+<td>Metastore</td>
+<td>Percentage (fractional) size of the delta files relative to the base directory. Deltas smaller than this threshold count as small deltas. Default 0.01 = 1%.)</td>
+</tr>
+<tr>
+<td>metastore.deltametrics.max.cache.size</td>
+<td><em>Default:</em> 100 (Allowed between 0 and 500)</td>
+<td>Metastore</td>
+<td>Size of the ACID metrics cache, i.e. max number of partitions and unpartitioned tables with the most deltas that will be included in the lists of active, obsolete and small deltas. Allowed range is 0 to 500.</td>
+</tr>
+<tr>
+<td>metastore.deltametrics.obsolete.delta.num.threshold</td>
+<td><em>Default:</em> 100</td>
+<td>Metastore</td>
+<td>The minimum number of obsolete delta files a table/partition must have in order to be included in the ACID metrics report.</td>
+</tr>
+</tbody>
+</table>
<p>1metastore.txn.max.open.batch controls how many transactions streaming agents such as Flume or Storm open simultaneously. The streaming agent then writes that number of entries into a single file (per Flume agent or Storm bolt). Thus increasing this value decreases the number of delta files created by streaming agents. But it also increases the number of open transactions that Hive has to track at any given time, which may negatively affect read performance.</p>
<p> 2Worker threads spawn MapReduce jobs to do compactions. They do not do the compactions themselves. Increasing the number of worker threads will decrease the time it takes tables or partitions to be compacted once they are determined to need compaction. It will also increase the background load on the Hadoop cluster as more MapReduce jobs will be running in the background. Each compaction can handle one partition at a time (or whole table if it’s unpartitioned). </p>
<p>3Decreasing this value will reduce the time it takes for compaction to be started for a table or partition that requires compaction. However, checking if compaction is needed requires several calls to the NameNode for each table or partition that has had a transaction done on it since the last major compaction. So decreasing this value will increase the load on the NameNode.</p>
diff --git a/docs/latest/44302539/index.html b/docs/latest/44302539/index.html
index c779686..47d056e 100644
--- a/docs/latest/44302539/index.html
+++ b/docs/latest/44302539/index.html
@@ -345,22 +345,7 @@ set spark.serializer=org.apache.spark.serializer.KryoSerializer;
<tr>
<td>[ERROR] Terminal initialization failed; falling back to unsupportedjava.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected</td>
<td>Hive has upgraded to Jline2 but jline 0.94 exists in the Hadoop lib.</td>
-<td>1. Delete jline from the Hadoop lib directory (it’s only pulled in transitively from ZooKeeper).</td>
-</tr>
-<tr>
-<td>2. export HADOOP_USER_CLASSPATH_FIRST=true</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td>3. If this error occurs during mvn test, perform a mvn clean install on the root project and itests directory.</td>
-<td></td>
-<td></td>
-</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
+<td>1. Delete jline from the Hadoop lib directory (it’s only pulled in transitively from ZooKeeper). 2. export HADOOP_USER_CLASSPATH_FIRST=true 3. If this error occurs during mvn test, perform a mvn clean install on the root project and itests directory.</td>
</tr>
<tr>
<td>Spark executor gets killed all the time and Spark keeps retrying the failed stage; you may find similar information in the YARN nodemanager log.WARN org.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.ContainersMonitorImpl: Container [pid=217989,containerID=container_1421717252700_0716_01_50767235] is running beyond physical memory limits. Current usage: 43.1 GB of 43 GB physical memory used; 43.9 GB of 90.3 GB virtual memory used. Killing container.</td>
@@ -375,18 +360,20 @@ set spark.serializer=org.apache.spark.serializer.KryoSerializer;
<tr>
<td>Stack trace: ExitCodeException exitCode=1: …/launch_container.sh: line 27: $PWD:$PWD/__spark__.jar:$HADOOP_CONF_DIR…/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure:$PWD/__app__.jar:$PWD/*: bad substitution </td>
<td>The key mapreduce.application.classpath in /etc/hadoop/conf/mapred-site.xml contains a variable which is invalid in bash.</td>
-<td>From <strong>mapreduce.application.classpath</strong> remove</td>
+<td>From <strong>mapreduce.application.classpath</strong> remove <code>:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar</code> from <strong>/etc/hadoop/conf/mapred-site.xml</strong></td>
+</tr>
+<tr>
+<td>Exception in thread “Driver” scala.MatchError: java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/TaskAttemptContext (of class java.lang.NoClassDefFoundError) at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:432)</td>
+<td>MR is not on the YARN classpath.</td>
+<td>If on HDP change from <strong>/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework</strong> to <strong>/hdp/apps/2.2.0.0-2041/mapreduce/mapreduce.tar.gz#mr-framework</strong></td>
+</tr>
+<tr>
+<td>java.lang.OutOfMemoryError: PermGen space with spark.master=local</td>
+<td>By default (<a href=https://issues.apache.org/jira/browse/SPARK-1879>SPARK-1879</a>), Spark’s own launch scripts increase PermGen to 128 MB, so we need to increase PermGen in hive launch script.</td>
+<td>If use JDK7, append following in conf/hive-env.sh: <code>export HADOOP\_OPTS="$HADOOP\_OPTS -XX:MaxPermSize=128m"</code> If use JDK8, append following in Conf/hive-env.sh: <code>export HADOOP\_OPTS="$HADOOP\_OPTS -XX:MaxMetaspaceSize=512m"</code></td>
</tr>
</tbody>
</table>
-<pre tabindex=0><code>:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar
-</code></pre><p>from**/etc/hadoop/conf/mapred-site.xml** |
-| Exception in thread “Driver” scala.MatchError: java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/TaskAttemptContext (of class java.lang.NoClassDefFoundError) at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:432) | MR is not on the YARN classpath. | If on HDP change from**/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework<strong>to</strong>/hdp/apps/2.2.0.0-2041/mapreduce/mapreduce.tar.gz#mr-framework** |
-| java.lang.OutOfMemoryError: PermGen space with spark.master=local | By default (<a href=https://issues.apache.org/jira/browse/SPARK-1879>SPARK-1879</a>), Spark’s own launch scripts increase PermGen to 128 MB, so we need to increase PermGen in hive launch script. | If use JDK7, append following in conf/hive-env.sh:</p>
-<pre tabindex=0><code>export HADOOP\_OPTS="$HADOOP\_OPTS -XX:MaxPermSize=128m"
-</code></pre><p>If use JDK8, append following in Conf/hive-env.sh:</p>
-<pre tabindex=0><code>export HADOOP\_OPTS="$HADOOP\_OPTS -XX:MaxMetaspaceSize=512m"
-</code></pre><p>|</p>
<h2 id=recommended-configuration>Recommended Configuration</h2>
<p>See <a href=https://issues.apache.org/jira/browse/HIVE-9153>HIVE-9153</a> for details on these settings.</p>
<pre tabindex=0><code>mapreduce.input.fileinputformat.split.maxsize=750000000
diff --git a/docs/latest/45876173/index.html b/docs/latest/45876173/index.html
index 6612e4c..68b38ea 100644
--- a/docs/latest/45876173/index.html
+++ b/docs/latest/45876173/index.html
@@ -276,37 +276,353 @@ object\_specification:
<p> </p>
<h3 id=hive-operations-and-required-privileges>Hive Operations and Required Privileges</h3>
<p>As of the release of Hive 0.7, only these operations require permissions, according to org.apache.hadoop.hive.ql.plan.HiveOperation:</p>
-<p>| Operation | ALTER | UPDATE | CREATE | DROP | INDEX | LOCK | SELECT | SHOW_DATABASE |
-| LOAD | | X | | | | | | |
-| EXPORT | | | | | | | X | |
-| IMPORT | X | X | | | | | | |
-| CREATE TABLE | | | X | | | | | |
-| CREATE TABLE AS SELECT | | | X | | | | X | |
-| DROP TABLE | | | | X | | | | |
-| SELECT | | | | | | | X | |
-| ALTER TABLE ADD COLUMN | X | | | | | | | |
-| ALTER TABLE REPLACE COLUMN | X | | | | | | | |
-| ALTER TABLE RENAME | X | | | | | | | |
-| ALTER TABLE ADD PARTITION | | | X | | | | | |
-| ALTER TABLE DROP PARTITION | | | | X | | | | |
-| ALTER TABLE ARCHIVE | | X | | | | | | |
-| ALTER TABLE UNARCHIVE | | X | | | | | | |
-| ALTER TABLE SET PROPERTIES | X | | | | | | | |
-| ALTER TABLE SET SERDE | X | | | | | | | |
-| ALTER TABLE SET SERDE | X | | | | | | | |
-| ALTER TABLE SET SERDEPROPERTIES | X | | | | | | | |
-| ALTER TABLE CLUSTER BY | X | | | | | | | |
-| ALTER TABLE PROTECT MODE | X | | | | | | | |
-| ALTER PARTITION PROTECT MODE | X | | | | | | | |
-| ALTER TABLE SET FILEFORMAT | X | | | | | | | |
-| ALTER PARTITION SET FILEFORMAT | X | | | | | | | |
-| ALTER TABLE SET LOCATION | | X | | | | | | |
-| ALTER PARTITION SET LOCATION | | X | | | | | | |
-| ALTER TABLE CONCATENATE | | X | | | | | | |
-| ALTER PARTITION CONCATENATE | | X | | | | | | |
-| SHOW DATABASES | | | | | | | | X |
-| LOCK TABLE | | | | | | X | | |
-| UNLOCK TABLE | | | | | | X | | |</p>
+<table>
+<thead>
+<tr>
+<th style=text-align:center>Operation</th>
+<th style=text-align:center>ALTER</th>
+<th style=text-align:center>UPDATE</th>
+<th style=text-align:center>CREATE</th>
+<th style=text-align:center>DROP</th>
+<th style=text-align:center>INDEX</th>
+<th style=text-align:center>LOCK</th>
+<th style=text-align:center>SELECT</th>
+<th style=text-align:center>SHOW_DATABASE</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style=text-align:center>LOAD</td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>EXPORT</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>IMPORT</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>CREATE TABLE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>CREATE TABLE AS SELECT</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>DROP TABLE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>SELECT</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE ADD COLUMN</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE REPLACE COLUMN</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE RENAME</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE ADD PARTITION</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE DROP PARTITION</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE ARCHIVE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE UNARCHIVE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE SET PROPERTIES</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE SET SERDE</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE SET SERDE</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE SET SERDEPROPERTIES</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE CLUSTER BY</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE PROTECT MODE</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER PARTITION PROTECT MODE</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE SET FILEFORMAT</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER PARTITION SET FILEFORMAT</td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE SET LOCATION</td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER PARTITION SET LOCATION</td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER TABLE CONCATENATE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>ALTER PARTITION CONCATENATE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>SHOW DATABASES</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+</tr>
+<tr>
+<td style=text-align:center>LOCK TABLE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+<tr>
+<td style=text-align:center>UNLOCK TABLE</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+<td style=text-align:center>X</td>
+<td style=text-align:center> </td>
+<td style=text-align:center> </td>
+</tr>
+</tbody>
+</table>
</div>
</div>
<footer class="black-background static-bottom" style=padding:30px>
diff --git a/docs/latest/67641451/index.html b/docs/latest/67641451/index.html
index c29eb21..c81f12c 100644
--- a/docs/latest/67641451/index.html
+++ b/docs/latest/67641451/index.html
@@ -115,160 +115,936 @@ ASF
<div class=content>
<div class=docs>
<h1 id=apache-hive--supported-features-apache-hive-21>Apache Hive : Supported Features: Apache Hive 2.1</h1>
-<p>| Identifier | Description | Hive 2.1 | Comment |
-| E011 | Numeric data types | Yes | |
-| E011-01 | INTEGER and SMALLINT data types (including all spellings) | Yes | Int instead of Integer |
-| E011-02 | REAL, DOUBLE PRECISON,and FLOAT data types | Yes | Double instead of Double Precision |
-| E011-03 | DECIMAL and NUMERIC data types | Yes | |
-| E011-04 | Arithmetic operators | Yes | |
-| E011-05 | Numeric comparison | Yes | |
-| E011-06 | Implicit casting among the numeric data types | Yes | |
-| E021 | Character data types | Yes | |
-| E021-01 | CHARACTER data type | Yes | Char instead of Character |
-| E021-02 | CHARACTER VARYING data type | Yes | Varchar instead of Character Varying |
-| E021-03 | Character literals | Yes | |
-| E021-04 | CHARACTER_LENGTH function | Partial | length UDF provided |
-| E021-06 | SUBSTRING function | Yes | |
-| E021-07 | Character concatenation | Yes | concat UDF instead of standard || operator |
-| E021-08 | UPPER and LOWER functions | Yes | |
-| E021-09 | TRIM function | Partial | leading / trailing / both from not supported |
-| E021-10 | Implicit casting among the fixed-length and variablelength character string types | Yes | |
-| E021-12 | Character comparison | Yes | |
-| E031 | Identifiers | Yes | |
-| E031-01 | Delimited identifiers | Partial | Backtick (`) used instead of ("). Semicolon character (;) cannot be used in an identifier. Table and column names have additional restrictions |
-| E031-03 | Trailing underscore | Yes | |
-| E051 | Basic query specification | Yes | |
-| E051-01 | SELECT DISTINCT | Yes | |
-| E051-02 | GROUP BY clause | Partial | Empty grouping sets not supported |
-| E051-04 | GROUP BY can contain columns not in | Yes | |
-| E051-05 | Select list items can be renamed | Yes | |
-| E051-06 | HAVING clause | Yes | |
-| E051-07 | Qualified * in select list | Yes | |
-| E051-08 | Correlation names in the FROM clause | Yes | |
-| E061 | Basic predicates and search conditions | Yes | |
-| E061-01 | Comparison predicate | Yes | |
-| E061-02 | BETWEEN predicate | Yes | |
-| E061-03 | IN predicate with list of values | Yes | |
-| E061-04 | LIKE predicate | Yes | |
-| E061-06 | NULL predicate | Yes | |
-| E061-08 | EXISTS predicate | Yes | |
-| E061-11 | Subqueries in IN predicate | Yes | |
-| E061-13 | Correlated subqueries | Partial | Only correlated subqueries that can be decorrelated with rewrite rules supported |
-| E071 | Basic query expressions | Yes | |
-| E071-01 | UNION DISTINCT table operator | Partial | Corresponding By syntax not supported |
-| E071-02 | UNION ALL table operator | Partial | Corresponding By syntax not supported |
-| E071-05 | Columns combined via table operators need not have exactly the same data type. | Yes | |
-| E071-06 | Table operators in subqueries | Yes | |
-| E081 | Basic Privileges | Yes | |
-| E081-01 | SELECT privilege | Yes | |
-| E081-03 | INSERT privilege at the table level | Yes | |
-| E081-04 | UPDATE privilege at the table level | Yes | |
-| E081-08 | WITH GRANT OPTION | Yes | |
-| E091 | Set Functions | Yes | |
-| E091-01 | AVG | Yes | |
-| E091-02 | COUNT | Yes | |
-| E091-03 | MAX | Yes | |
-| E091-04 | MIN | Yes | |
-| E091-05 | SUM | Yes | |
-| E091-07 | DISTINCT quantifier | Yes | |
-| E101 | Basic data manipulation | Yes | |
-| E101-01 | INSERT statement | Yes | |
-| E101-03 | Searched UPDATE statement | Yes | |
-| E101-04 | Searched DELETE statement | Yes | |
-| E131 | Null value support (nulls in lieu of values) | Partial | Null specification is supported |
-| E141 | Basic integrity constraints | Yes | |
-| E141-03 | PRIMARY KEY constraints | Partial | Non-validated |
-| E141-04 | Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action | Partial | Non-validated |
-| E141-10 | Names in a foreign key can be specified in any order | Yes | |
-| E151 | Transaction support | Partial | Autocommit transaction for INSERT/UPDATE/DELETE |
-| E161 | SQL comments using leading double minus | Yes | |
-| F031 | Basic schema manipulation | Yes | |
-| F031-01 | CREATE TABLE statement to create persistent base tables | Yes | |
-| F031-02 | CREATE VIEW statement | Yes | |
-| F031-03 | GRANT statement | Yes | |
-| F031-04 | ALTER TABLE statement: ADD COLUMN clause | Yes | |
-| F031-13 | DROP TABLE statement: RESTRICT clause | Yes | |
-| F031-16 | DROP VIEW statement: RESTRICT clause | Yes | |
-| F041 | Basic joined table | Yes | |
-| F041-01 | Inner join (but not necessarily the INNER keyword) | Yes | Named columns join not supported |
-| F041-02 | INNER keyword | Yes | |
-| F041-03 | LEFT OUTER JOIN | Yes | |
-| F041-04 | RIGHT OUTER JOIN | Yes | |
-| F041-05 | Outer joins can be nested | Yes | |
-| F041-07 | The inner table in a left or right outer join can also be used in an inner join | Yes | |
-| F051 | Basic date and time | Yes | |
-| F051-01 | DATE data type (including support of DATE literal) | Yes | |
-| F051-03 | TIMESTAMP data type (including support of TIMES- TAMP literal) with fractional seconds precision of at least 0 and 6. | Yes | |
-| F051-04 | Comparison predicate on DATE, TIME, and TIMES- TAMP data types | Yes | |
-| F051-05 | Explicit CAST between date- time types and character string types | Yes | |
-| F051-06 | CURRENT_DATE | Yes | |
-| F052 | Intervals and datetime arithmetic | Yes | |
-| F081 | UNION and EXCEPT in views | Partial | UNION only |
-| F131 | Grouped operations | Yes | |
-| F131-01 | WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views | Yes | |
-| F131-02 | Multiple tables supported in queries with grouped views | Yes | |
-| F131-03 | Set functions supported in queries with grouped views | Yes | |
-| F131-04 | Subqueries with GROUP BY and HAVING clauses and grouped views | Yes | |
-| F171 | Multiple schemas per user | Yes | |
-| F200 | TRUNCATE TABLE statement | Yes | |
-| F201 | CAST function | Yes | |
-| F261 | CASE expression | Yes | |
-| F261-01 | Simple CASE | Yes | |
-| F261-02 | Searched CASE | Yes | |
-| F261-04 | COALESCE | Yes | |
-| F311-01 | CREATE SCHEMA | Yes | |
-| F311-02 | CREATE TABLE for persistent base tables | Yes | |
-| F311-03 | CREATE VIEW | Yes | |
-| F311-05 | GRANT statement | Yes | |
-| F382 | Alter column data type | Yes | Uses nonstandard syntax |
-| F391 | Long identifiers | Yes | |
-| F401 | Extended joined table | Yes | |
-| F401-01 | NATURAL JOIN | Yes | |
-| F401-02 | FULL OUTER JOIN | Yes | |
-| F401-04 | CROSS JOIN | Yes | |
-| F403 | Partitioned join tables | Yes | |
-| F531 | Temporary tables | Yes | |
-| F555 | Enhanced seconds precision | Yes | |
-| F561 | Full value expressions | Yes | |
-| F591 | Derived tables | Yes | |
-| F641 | Row and table constructors | Yes | |
-| F651 | Catalog name qualifiers | Yes | |
-| F846 | Octet support in regular expression operators | Yes | |
-| F847 | Nonconstant regular expressions | Yes | |
-| F850 | Top-level in | Yes | |
-| F851 | in subqueries | Yes | |
-| F852 | Top-level in views | Yes | |
-| F855 | Nested in | Yes | |
-| S023 | Basic structured types | Yes | |
-| S091 | Basic array support | Yes | |
-| S091-01 | Arrays of built-in data types | Yes | |
-| S091-02 | Arrays of distinct types | Yes | |
-| S098 | ARRAY_AGG | Partial | collect_list does the same |
-| S201-01 | Array parameters | Yes | |
-| S281 | Nested collection types | Yes | |
-| T021 | BINARY and VARBINARY data types | Partial | BINARY only |
-| T031 | BOOLEAN data type | Yes | |
-| T051 | Row types | Yes | |
-| T071 | BIGINT data type | Yes | |
-| T121 | WITH (excluding RECURSIVE) in query expression | Yes | |
-| T122 | WITH (excluding RECURSIVE) in subquery | Yes | |
-| T172 | AS subquery clause in table definition | Yes | |
-| T326 | Table functions | Yes | |
-| T331 | Basic roles | Yes | |
-| T431 | Extended grouping capabilities | Partial | Grouping sets need to be extracted manually from a bitmask |
-| T433 | Multiargument GROUPING function | Yes | |
-| T441 | ABS and MOD functions | Partial | ABS provided, MOD provided via % operator |
-| T501 | Enhanced EXISTS predicate | Yes | |
-| T581 | Regular expression substring function | Yes | |
-| T611 | Elementary OLAP operations | Yes | |
-| T612 | Advanced OLAP operations | Partial | PERCENT_RANK, CUME_DIST and ROW_NUMBER supported |
-| T613 | Sampling | Yes | Nonstandard syntax via TABLESAMPLE |
-| T614 | NTILE function | Yes | |
-| T615 | LEAD and LAG functions | Yes | |
-| T616 | Null treatment option for LEAD and LAG functions | Yes | |
-| T617 | FIRST_VALUE and LAST_VALUE functions | Yes | |
-| T621 | Enhanced numeric functions | Yes | |
-| T631 | IN predicate with one list element | Yes | |</p>
+<table>
+<thead>
+<tr>
+<th>Identifier</th>
+<th>Description</th>
+<th>Hive 2.1</th>
+<th>Comment</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>E011</td>
+<td>Numeric data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-01</td>
+<td>INTEGER and SMALLINT data types (including all spellings)</td>
+<td>Yes</td>
+<td>Int instead of Integer</td>
+</tr>
+<tr>
+<td>E011-02</td>
+<td>REAL, DOUBLE PRECISON,and FLOAT data types</td>
+<td>Yes</td>
+<td>Double instead of Double Precision</td>
+</tr>
+<tr>
+<td>E011-03</td>
+<td>DECIMAL and NUMERIC data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-04</td>
+<td>Arithmetic operators</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-05</td>
+<td>Numeric comparison</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-06</td>
+<td>Implicit casting among the numeric data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021</td>
+<td>Character data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-01</td>
+<td>CHARACTER data type</td>
+<td>Yes</td>
+<td>Char instead of Character</td>
+</tr>
+<tr>
+<td>E021-02</td>
+<td>CHARACTER VARYING data type</td>
+<td>Yes</td>
+<td>Varchar instead of Character Varying</td>
+</tr>
+<tr>
+<td>E021-03</td>
+<td>Character literals</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-04</td>
+<td>CHARACTER_LENGTH function</td>
+<td>Partial</td>
+<td>length UDF provided</td>
+</tr>
+<tr>
+<td>E021-06</td>
+<td>SUBSTRING function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-07</td>
+<td>Character concatenation</td>
+<td>Yes</td>
+<td>concat UDF instead of standard</td>
+</tr>
+<tr>
+<td>E021-08</td>
+<td>UPPER and LOWER functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-09</td>
+<td>TRIM function</td>
+<td>Partial</td>
+<td>leading / trailing / both from not supported</td>
+</tr>
+<tr>
+<td>E021-10</td>
+<td>Implicit casting among the fixed-length and variablelength character string types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-12</td>
+<td>Character comparison</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E031</td>
+<td>Identifiers</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E031-01</td>
+<td>Delimited identifiers</td>
+<td>Partial</td>
+<td>Backtick (`) used instead of ("). Semicolon character (;) cannot be used in an identifier. Table and column names have additional restrictions</td>
+</tr>
+<tr>
+<td>E031-03</td>
+<td>Trailing underscore</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051</td>
+<td>Basic query specification</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-01</td>
+<td>SELECT DISTINCT</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-02</td>
+<td>GROUP BY clause</td>
+<td>Partial</td>
+<td>Empty grouping sets not supported</td>
+</tr>
+<tr>
+<td>E051-04</td>
+<td>GROUP BY can contain columns not in </td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-05</td>
+<td>Select list items can be renamed</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-06</td>
+<td>HAVING clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-07</td>
+<td>Qualified * in select list</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-08</td>
+<td>Correlation names in the FROM clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061</td>
+<td>Basic predicates and search conditions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-01</td>
+<td>Comparison predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-02</td>
+<td>BETWEEN predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-03</td>
+<td>IN predicate with list of values</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-04</td>
+<td>LIKE predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-06</td>
+<td>NULL predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-08</td>
+<td>EXISTS predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-11</td>
+<td>Subqueries in IN predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-13</td>
+<td>Correlated subqueries</td>
+<td>Partial</td>
+<td>Only correlated subqueries that can be decorrelated with rewrite rules supported</td>
+</tr>
+<tr>
+<td>E071</td>
+<td>Basic query expressions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-01</td>
+<td>UNION DISTINCT table operator</td>
+<td>Partial</td>
+<td>Corresponding By syntax not supported</td>
+</tr>
+<tr>
+<td>E071-02</td>
+<td>UNION ALL table operator</td>
+<td>Partial</td>
+<td>Corresponding By syntax not supported</td>
+</tr>
+<tr>
+<td>E071-05</td>
+<td>Columns combined via table operators need not have exactly the same data type.</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-06</td>
+<td>Table operators in subqueries</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081</td>
+<td>Basic Privileges</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-01</td>
+<td>SELECT privilege</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-03</td>
+<td>INSERT privilege at the table level</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-04</td>
+<td>UPDATE privilege at the table level</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-08</td>
+<td>WITH GRANT OPTION</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091</td>
+<td>Set Functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-01</td>
+<td>AVG</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-02</td>
+<td>COUNT</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-03</td>
+<td>MAX</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-04</td>
+<td>MIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-05</td>
+<td>SUM</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-07</td>
+<td>DISTINCT quantifier</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101</td>
+<td>Basic data manipulation</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-01</td>
+<td>INSERT statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-03</td>
+<td>Searched UPDATE statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-04</td>
+<td>Searched DELETE statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E131</td>
+<td>Null value support (nulls in lieu of values)</td>
+<td>Partial</td>
+<td>Null specification is supported</td>
+</tr>
+<tr>
+<td>E141</td>
+<td>Basic integrity constraints</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E141-03</td>
+<td>PRIMARY KEY constraints</td>
+<td>Partial</td>
+<td>Non-validated</td>
+</tr>
+<tr>
+<td>E141-04</td>
+<td>Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action</td>
+<td>Partial</td>
+<td>Non-validated</td>
+</tr>
+<tr>
+<td>E141-10</td>
+<td>Names in a foreign key can be specified in any order</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E151</td>
+<td>Transaction support</td>
+<td>Partial</td>
+<td>Autocommit transaction for INSERT/UPDATE/DELETE</td>
+</tr>
+<tr>
+<td>E161</td>
+<td>SQL comments using leading double minus</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031</td>
+<td>Basic schema manipulation</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-01</td>
+<td>CREATE TABLE statement to create persistent base tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-02</td>
+<td>CREATE VIEW statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-03</td>
+<td>GRANT statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-04</td>
+<td>ALTER TABLE statement: ADD COLUMN clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-13</td>
+<td>DROP TABLE statement: RESTRICT clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-16</td>
+<td>DROP VIEW statement: RESTRICT clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041</td>
+<td>Basic joined table</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-01</td>
+<td>Inner join (but not necessarily the INNER keyword)</td>
+<td>Yes</td>
+<td>Named columns join not supported</td>
+</tr>
+<tr>
+<td>F041-02</td>
+<td>INNER keyword</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-03</td>
+<td>LEFT OUTER JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-04</td>
+<td>RIGHT OUTER JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-05</td>
+<td>Outer joins can be nested</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-07</td>
+<td>The inner table in a left or right outer join can also be used in an inner join</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051</td>
+<td>Basic date and time</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-01</td>
+<td>DATE data type (including support of DATE literal)</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-03</td>
+<td>TIMESTAMP data type (including support of TIMES- TAMP literal) with fractional seconds precision of at least 0 and 6.</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-04</td>
+<td>Comparison predicate on DATE, TIME, and TIMES- TAMP data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-05</td>
+<td>Explicit CAST between date- time types and character string types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-06</td>
+<td>CURRENT_DATE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F052</td>
+<td>Intervals and datetime arithmetic</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F081</td>
+<td>UNION and EXCEPT in views</td>
+<td>Partial</td>
+<td>UNION only</td>
+</tr>
+<tr>
+<td>F131</td>
+<td>Grouped operations</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-01</td>
+<td>WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-02</td>
+<td>Multiple tables supported in queries with grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-03</td>
+<td>Set functions supported in queries with grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-04</td>
+<td>Subqueries with GROUP BY and HAVING clauses and grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F171</td>
+<td>Multiple schemas per user</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F200</td>
+<td>TRUNCATE TABLE statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F201</td>
+<td>CAST function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261</td>
+<td>CASE expression</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-01</td>
+<td>Simple CASE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-02</td>
+<td>Searched CASE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-04</td>
+<td>COALESCE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-01</td>
+<td>CREATE SCHEMA</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-02</td>
+<td>CREATE TABLE for persistent base tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-03</td>
+<td>CREATE VIEW</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-05</td>
+<td>GRANT statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F382</td>
+<td>Alter column data type</td>
+<td>Yes</td>
+<td>Uses nonstandard syntax</td>
+</tr>
+<tr>
+<td>F391</td>
+<td>Long identifiers</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401</td>
+<td>Extended joined table</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401-01</td>
+<td>NATURAL JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401-02</td>
+<td>FULL OUTER JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401-04</td>
+<td>CROSS JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F403</td>
+<td>Partitioned join tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F531</td>
+<td>Temporary tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F555</td>
+<td>Enhanced seconds precision</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F561</td>
+<td>Full value expressions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F591</td>
+<td>Derived tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F641</td>
+<td>Row and table constructors</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F651</td>
+<td>Catalog name qualifiers</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F846</td>
+<td>Octet support in regular expression operators</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F847</td>
+<td>Nonconstant regular expressions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F850</td>
+<td>Top-level in </td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F851</td>
+<td> in subqueries</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F852</td>
+<td>Top-level in views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F855</td>
+<td>Nested in </td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S023</td>
+<td>Basic structured types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S091</td>
+<td>Basic array support</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S091-01</td>
+<td>Arrays of built-in data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S091-02</td>
+<td>Arrays of distinct types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S098</td>
+<td>ARRAY_AGG</td>
+<td>Partial</td>
+<td>collect_list does the same</td>
+</tr>
+<tr>
+<td>S201-01</td>
+<td>Array parameters</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S281</td>
+<td>Nested collection types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T021</td>
+<td>BINARY and VARBINARY data types</td>
+<td>Partial</td>
+<td>BINARY only</td>
+</tr>
+<tr>
+<td>T031</td>
+<td>BOOLEAN data type</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T051</td>
+<td>Row types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T071</td>
+<td>BIGINT data type</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T121</td>
+<td>WITH (excluding RECURSIVE) in query expression</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T122</td>
+<td>WITH (excluding RECURSIVE) in subquery</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T172</td>
+<td>AS subquery clause in table definition</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T326</td>
+<td>Table functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T331</td>
+<td>Basic roles</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T431</td>
+<td>Extended grouping capabilities</td>
+<td>Partial</td>
+<td>Grouping sets need to be extracted manually from a bitmask</td>
+</tr>
+<tr>
+<td>T433</td>
+<td>Multiargument GROUPING function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T441</td>
+<td>ABS and MOD functions</td>
+<td>Partial</td>
+<td>ABS provided, MOD provided via % operator</td>
+</tr>
+<tr>
+<td>T501</td>
+<td>Enhanced EXISTS predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T581</td>
+<td>Regular expression substring function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T611</td>
+<td>Elementary OLAP operations</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T612</td>
+<td>Advanced OLAP operations</td>
+<td>Partial</td>
+<td>PERCENT_RANK, CUME_DIST and ROW_NUMBER supported</td>
+</tr>
+<tr>
+<td>T613</td>
+<td>Sampling</td>
+<td>Yes</td>
+<td>Nonstandard syntax via TABLESAMPLE</td>
+</tr>
+<tr>
+<td>T614</td>
+<td>NTILE function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T615</td>
+<td>LEAD and LAG functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T616</td>
+<td>Null treatment option for LEAD and LAG functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T617</td>
+<td>FIRST_VALUE and LAST_VALUE functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T621</td>
+<td>Enhanced numeric functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T631</td>
+<td>IN predicate with one list element</td>
+<td>Yes</td>
+<td></td>
+</tr>
+</tbody>
+</table>
</div>
</div>
<footer class="black-background static-bottom" style=padding:30px>
diff --git a/docs/latest/73632935/index.html b/docs/latest/73632935/index.html
index 1e39387..e476cc8 100644
--- a/docs/latest/73632935/index.html
+++ b/docs/latest/73632935/index.html
@@ -115,181 +115,1062 @@ ASF
<div class=content>
<div class=docs>
<h1 id=apache-hive--supported-features-apache-hive-23>Apache Hive : Supported Features: Apache Hive 2.3</h1>
-<p>| Identifier | Description | Hive 2.3 | Comment |
-| E011 | Numeric data types | Yes | |
-| E011-01 | INTEGER and SMALLINT data types (including all spellings) | Yes | |
-| E011-02 | REAL, DOUBLE PRECISON,and FLOAT data types | Yes | |
-| E011-03 | DECIMAL and NUMERIC data types | Yes | |
-| E011-04 | Arithmetic operators | Yes | |
-| E011-05 | Numeric comparison | Yes | |
-| E011-06 | Implicit casting among the numeric data types | Yes | |
-| E021 | Character data types | Yes | |
-| E021-01 | CHARACTER data type | Yes | Char instead of Character |
-| E021-02 | CHARACTER VARYING data type | Yes | Varchar instead of Character Varying |
-| E021-03 | Character literals | Yes | |
-| E021-04 | CHARACTER_LENGTH function | Yes | |
-| E021-05 | OCTET_LENGTH function | Yes | |
-| E021-06 | SUBSTRING function | Yes | |
-| E021-07 | Character concatenation | Yes | |
-| E021-08 | UPPER and LOWER functions | Yes | |
-| E021-09 | TRIM function | Partial | leading / trailing / both from not supported |
-| E021-10 | Implicit casting among the fixed-length and variablelength character string types | Yes | |
-| E021-12 | Character comparison | Yes | |
-| E031 | Identifiers | Yes | |
-| E031-01 | Delimited identifiers | Yes | |
-| E031-03 | Trailing underscore | Yes | |
-| E051 | Basic query specification | Yes | |
-| E051-01 | SELECT DISTINCT | Yes | |
-| E051-02 | GROUP BY clause | Partial | Empty grouping sets not supported |
-| E051-04 | GROUP BY can contain columns not in | Yes | |
-| E051-05 | Select list items can be renamed | Yes | |
-| E051-06 | HAVING clause | Yes | |
-| E051-07 | Qualified * in select list | Yes | |
-| E051-08 | Correlation names in the FROM clause | Yes | |
-| E061 | Basic predicates and search conditions | Yes | |
-| E061-01 | Comparison predicate | Yes | |
-| E061-02 | BETWEEN predicate | Yes | |
-| E061-03 | IN predicate with list of values | Yes | |
-| E061-04 | LIKE predicate | Yes | |
-| E061-06 | NULL predicate | Yes | |
-| E061-08 | EXISTS predicate | Yes | |
-| E061-09 | Subqueries in comparison predicate | Yes | |
-| E061-11 | Subqueries in IN predicate | Yes | |
-| E061-13 | Correlated subqueries | Yes | |
-| E071 | Basic query expressions | Yes | |
-| E071-01 | UNION DISTINCT table operator | Yes | |
-| E071-02 | UNION ALL table operator | Yes | |
-| E071-03 | EXCEPT DISTINCT table operator | Yes | |
-| E071-05 | Columns combined via table operators need not have exactly the same data type. | Yes | |
-| E071-06 | Table operators in subqueries | Yes | |
-| E081 | Basic Privileges | Yes | |
-| E081-01 | SELECT privilege | Yes | |
-| E081-03 | INSERT privilege at the table level | Yes | |
-| E081-04 | UPDATE privilege at the table level | Yes | |
-| E081-08 | WITH GRANT OPTION | Yes | |
-| E091 | Set Functions | Yes | |
-| E091-01 | AVG | Yes | |
-| E091-02 | COUNT | Yes | |
-| E091-03 | MAX | Yes | |
-| E091-04 | MIN | Yes | |
-| E091-05 | SUM | Yes | |
-| E091-06 | ALL quantifier | Yes | |
-| E091-07 | DISTINCT quantifier | Yes | |
-| E101 | Basic data manipulation | Yes | |
-| E101-01 | INSERT statement | Yes | |
-| E101-03 | Searched UPDATE statement | Yes | |
-| E101-04 | Searched DELETE statement | Yes | |
-| E131 | Null value support (nulls in lieu of values) | Yes | |
-| E141 | Basic integrity constraints | Yes | |
-| E141-03 | PRIMARY KEY constraints | Partial | Non-enforced |
-| E141-04 | Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action | Partial | Non-enforced |
-| E141-08 | NOT NULL inferred on PRIMARY KEY | Partial | Inferred on read |
-| E141-10 | Names in a foreign key can be specified in any order | Yes | |
-| E151 | Transaction support | Partial | Autocommit transaction for INSERT/UPDATE/DELETE/MERGE |
-| E161 | SQL comments using leading double minus | Yes | |
-| F031 | Basic schema manipulation | Yes | |
-| F031-01 | CREATE TABLE statement to create persistent base tables | Yes | |
-| F031-02 | CREATE VIEW statement | Yes | |
-| F031-03 | GRANT statement | Yes | |
-| F031-04 | ALTER TABLE statement: ADD COLUMN clause | Yes | |
-| F031-13 | DROP TABLE statement: RESTRICT clause | Yes | |
-| F031-16 | DROP VIEW statement: RESTRICT clause | Yes | |
-| F041 | Basic joined table | Yes | |
-| F041-01 | Inner join (but not necessarily the INNER keyword) | Yes | |
-| F041-02 | INNER keyword | Yes | |
-| F041-03 | LEFT OUTER JOIN | Yes | |
-| F041-04 | RIGHT OUTER JOIN | Yes | |
-| F041-05 | Outer joins can be nested | Yes | |
-| F041-07 | The inner table in a left or right outer join can also be used in an inner join | Yes | |
-| F041-08 | All comparison operators are supported (rather than just =) | Yes | |
-| F051 | Basic date and time | Yes | |
-| F051-01 | DATE data type (including support of DATE literal) | Yes | |
-| F051-03 | TIMESTAMP data type (including support of TIMES- TAMP literal) with fractional seconds precision of at least 0 and 6. | Yes | |
-| F051-04 | Comparison predicate on DATE, TIME, and TIMES- TAMP data types | Yes | |
-| F051-05 | Explicit CAST between date- time types and character string types | Yes | |
-| F051-06 | CURRENT_DATE | Yes | |
-| F052 | Intervals and datetime arithmetic | Yes | |
-| F054 | TIMESTAMP in DATE type precedence list | Yes | |
-| F081 | UNION and EXCEPT in views | Yes | |
-| F131 | Grouped operations | Yes | |
-| F131-01 | WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views | Yes | |
-| F131-02 | Multiple tables supported in queries with grouped views | Yes | |
-| F131-03 | Set functions supported in queries with grouped views | Yes | |
-| F131-04 | Subqueries with GROUP BY and HAVING clauses and grouped views | Yes | |
-| F171 | Multiple schemas per user | Yes | |
-| F200 | TRUNCATE TABLE statement | Yes | |
-| F201 | CAST function | Yes | |
-| F261 | CASE expression | Yes | |
-| F261-01 | Simple CASE | Yes | |
-| F261-02 | Searched CASE | Yes | |
-| F261-03 | NULLIF | Yes | |
-| F261-04 | COALESCE | Yes | |
-| F271 | Compound character literals | Yes | |
-| F281 | LIKE enhancements | Partial | Escape characters not supported |
-| F302 | INTERSECT table operator | Yes | |
-| F302-01 | INTERSECT DISTINCT table operator | Yes | |
-| F302-02 | INTERSECT ALL table operator | Yes | |
-| F304 | EXCEPT ALL table operator | Yes | |
-| F311-01 | CREATE SCHEMA | Partial | Database is used as the equivalent |
-| F311-02 | CREATE TABLE for persistent base tables | Yes | |
-| F311-03 | CREATE VIEW | Yes | |
-| F311-05 | GRANT statement | Yes | |
-| F312 | MERGE statement | Yes | |
-| F314 | MERGE statement with DELETE branch | Yes | |
-| F382 | Alter column data type | Yes | Uses nonstandard syntax |
-| F391 | Long identifiers | Yes | |
-| F401 | Extended joined table | Yes | |
-| F401-01 | NATURAL JOIN | Yes | |
-| F401-02 | FULL OUTER JOIN | Yes | |
-| F401-04 | CROSS JOIN | Yes | |
-| F403 | Partitioned join tables | Yes | |
-| F531 | Temporary tables | Yes | |
-| F555 | Enhanced seconds precision | Yes | |
-| F561 | Full value expressions | Yes | |
-| F591 | Derived tables | Yes | |
-| F641 | Row and table constructors | Yes | |
-| F651 | Catalog name qualifiers | Yes | |
-| F846 | Octet support in regular expression operators | Yes | |
-| F847 | Nonconstant regular expressions | Yes | |
-| F850 | Top-level in | Yes | |
-| F851 | in subqueries | Yes | |
-| F852 | Top-level in views | Yes | |
-| F855 | Nested in | Yes | |
-| S023 | Basic structured types | Yes | |
-| S091 | Basic array support | Yes | |
-| S091-01 | Arrays of built-in data types | Yes | |
-| S091-02 | Arrays of distinct types | Yes | |
-| S098 | ARRAY_AGG | Partial | collect_list provides similar functionality |
-| S201-01 | Array parameters | Yes | |
-| S281 | Nested collection types | Yes | |
-| S301 | Enhanced UNNEST | Partial | LATERAL JOIN provides similar functionality |
-| T021 | BINARY and VARBINARY data types | Partial | BINARY only |
-| T031 | BOOLEAN data type | Yes | |
-| T051 | Row types | Yes | |
-| T071 | BIGINT data type | Yes | |
-| T121 | WITH (excluding RECURSIVE) in query expression | Yes | |
-| T122 | WITH (excluding RECURSIVE) in subquery | Yes | |
-| T171 | LIKE clause in table definition | Yes | |
-| T172 | AS subquery clause in table definition | Yes | |
-| T281 | SELECT privilege with column granularity | Partial | Provided by ecosystem projects like Apache Ranger and Apache Sentry |
-| T326 | Table functions | Yes | |
-| T331 | Basic roles | Yes | |
-| T351 | Bracketed comments | Yes | |
-| T431 | Extended grouping capabilities | Partial | Concatenated grouping sets unsupported |
-| T433 | Multiargument GROUPING function | Yes | |
-| T441 | ABS and MOD functions | Yes | |
-| T501 | Enhanced EXISTS predicate | Yes | |
-| T551 | Optional key words for default syntax | Yes | |
-| T581 | Regular expression substring function | Yes | |
-| T611 | Elementary OLAP operations | Yes | |
-| T612 | Advanced OLAP operations | Partial | PERCENT_RANK, CUME_DIST and ROW_NUMBER supported |
-| T613 | Sampling | Yes | Nonstandard syntax via TABLESAMPLE |
-| T614 | NTILE function | Yes | |
-| T615 | LEAD and LAG functions | Yes | |
-| T616 | Null treatment option for LEAD and LAG functions | Yes | |
-| T617 | FIRST_VALUE and LAST_VALUE functions | Yes | |
-| T621 | Enhanced numeric functions | Yes | |
-| T631 | IN predicate with one list element | Yes | |</p>
+<table>
+<thead>
+<tr>
+<th>Identifier</th>
+<th>Description</th>
+<th>Hive 2.3</th>
+<th>Comment</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>E011</td>
+<td>Numeric data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-01</td>
+<td>INTEGER and SMALLINT data types (including all spellings)</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-02</td>
+<td>REAL, DOUBLE PRECISON,and FLOAT data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-03</td>
+<td>DECIMAL and NUMERIC data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-04</td>
+<td>Arithmetic operators</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-05</td>
+<td>Numeric comparison</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-06</td>
+<td>Implicit casting among the numeric data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021</td>
+<td>Character data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-01</td>
+<td>CHARACTER data type</td>
+<td>Yes</td>
+<td>Char instead of Character</td>
+</tr>
+<tr>
+<td>E021-02</td>
+<td>CHARACTER VARYING data type</td>
+<td>Yes</td>
+<td>Varchar instead of Character Varying</td>
+</tr>
+<tr>
+<td>E021-03</td>
+<td>Character literals</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-04</td>
+<td>CHARACTER_LENGTH function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-05</td>
+<td>OCTET_LENGTH function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-06</td>
+<td>SUBSTRING function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-07</td>
+<td>Character concatenation</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-08</td>
+<td>UPPER and LOWER functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-09</td>
+<td>TRIM function</td>
+<td>Partial</td>
+<td>leading / trailing / both from not supported</td>
+</tr>
+<tr>
+<td>E021-10</td>
+<td>Implicit casting among the fixed-length and variablelength character string types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-12</td>
+<td>Character comparison</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E031</td>
+<td>Identifiers</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E031-01</td>
+<td>Delimited identifiers</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E031-03</td>
+<td>Trailing underscore</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051</td>
+<td>Basic query specification</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-01</td>
+<td>SELECT DISTINCT</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-02</td>
+<td>GROUP BY clause</td>
+<td>Partial</td>
+<td>Empty grouping sets not supported</td>
+</tr>
+<tr>
+<td>E051-04</td>
+<td>GROUP BY can contain columns not in </td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-05</td>
+<td>Select list items can be renamed</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-06</td>
+<td>HAVING clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-07</td>
+<td>Qualified * in select list</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-08</td>
+<td>Correlation names in the FROM clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061</td>
+<td>Basic predicates and search conditions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-01</td>
+<td>Comparison predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-02</td>
+<td>BETWEEN predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-03</td>
+<td>IN predicate with list of values</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-04</td>
+<td>LIKE predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-06</td>
+<td>NULL predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-08</td>
+<td>EXISTS predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-09</td>
+<td>Subqueries in comparison predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-11</td>
+<td>Subqueries in IN predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-13</td>
+<td>Correlated subqueries</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071</td>
+<td>Basic query expressions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-01</td>
+<td>UNION DISTINCT table operator</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-02</td>
+<td>UNION ALL table operator</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-03</td>
+<td>EXCEPT DISTINCT table operator</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-05</td>
+<td>Columns combined via table operators need not have exactly the same data type.</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-06</td>
+<td>Table operators in subqueries</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081</td>
+<td>Basic Privileges</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-01</td>
+<td>SELECT privilege</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-03</td>
+<td>INSERT privilege at the table level</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-04</td>
+<td>UPDATE privilege at the table level</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-08</td>
+<td>WITH GRANT OPTION</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091</td>
+<td>Set Functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-01</td>
+<td>AVG</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-02</td>
+<td>COUNT</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-03</td>
+<td>MAX</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-04</td>
+<td>MIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-05</td>
+<td>SUM</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-06</td>
+<td>ALL quantifier</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-07</td>
+<td>DISTINCT quantifier</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101</td>
+<td>Basic data manipulation</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-01</td>
+<td>INSERT statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-03</td>
+<td>Searched UPDATE statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-04</td>
+<td>Searched DELETE statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E131</td>
+<td>Null value support (nulls in lieu of values)</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E141</td>
+<td>Basic integrity constraints</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E141-03</td>
+<td>PRIMARY KEY constraints</td>
+<td>Partial</td>
+<td>Non-enforced</td>
+</tr>
+<tr>
+<td>E141-04</td>
+<td>Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action</td>
+<td>Partial</td>
+<td>Non-enforced</td>
+</tr>
+<tr>
+<td>E141-08</td>
+<td>NOT NULL inferred on PRIMARY KEY</td>
+<td>Partial</td>
+<td>Inferred on read</td>
+</tr>
+<tr>
+<td>E141-10</td>
+<td>Names in a foreign key can be specified in any order</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>E151</td>
+<td>Transaction support</td>
+<td>Partial</td>
+<td>Autocommit transaction for INSERT/UPDATE/DELETE/MERGE</td>
+</tr>
+<tr>
+<td>E161</td>
+<td>SQL comments using leading double minus</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031</td>
+<td>Basic schema manipulation</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-01</td>
+<td>CREATE TABLE statement to create persistent base tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-02</td>
+<td>CREATE VIEW statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-03</td>
+<td>GRANT statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-04</td>
+<td>ALTER TABLE statement: ADD COLUMN clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-13</td>
+<td>DROP TABLE statement: RESTRICT clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-16</td>
+<td>DROP VIEW statement: RESTRICT clause</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041</td>
+<td>Basic joined table</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-01</td>
+<td>Inner join (but not necessarily the INNER keyword)</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-02</td>
+<td>INNER keyword</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-03</td>
+<td>LEFT OUTER JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-04</td>
+<td>RIGHT OUTER JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-05</td>
+<td>Outer joins can be nested</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-07</td>
+<td>The inner table in a left or right outer join can also be used in an inner join</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-08</td>
+<td>All comparison operators are supported (rather than just =)</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051</td>
+<td>Basic date and time</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-01</td>
+<td>DATE data type (including support of DATE literal)</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-03</td>
+<td>TIMESTAMP data type (including support of TIMES- TAMP literal) with fractional seconds precision of at least 0 and 6.</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-04</td>
+<td>Comparison predicate on DATE, TIME, and TIMES- TAMP data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-05</td>
+<td>Explicit CAST between date- time types and character string types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-06</td>
+<td>CURRENT_DATE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F052</td>
+<td>Intervals and datetime arithmetic</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F054</td>
+<td>TIMESTAMP in DATE type precedence list</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F081</td>
+<td>UNION and EXCEPT in views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131</td>
+<td>Grouped operations</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-01</td>
+<td>WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-02</td>
+<td>Multiple tables supported in queries with grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-03</td>
+<td>Set functions supported in queries with grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-04</td>
+<td>Subqueries with GROUP BY and HAVING clauses and grouped views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F171</td>
+<td>Multiple schemas per user</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F200</td>
+<td>TRUNCATE TABLE statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F201</td>
+<td>CAST function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261</td>
+<td>CASE expression</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-01</td>
+<td>Simple CASE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-02</td>
+<td>Searched CASE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-03</td>
+<td>NULLIF</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-04</td>
+<td>COALESCE</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F271</td>
+<td>Compound character literals</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F281</td>
+<td>LIKE enhancements</td>
+<td>Partial</td>
+<td>Escape characters not supported</td>
+</tr>
+<tr>
+<td>F302</td>
+<td>INTERSECT table operator</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F302-01</td>
+<td>INTERSECT DISTINCT table operator</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F302-02</td>
+<td>INTERSECT ALL table operator</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F304</td>
+<td>EXCEPT ALL table operator</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-01</td>
+<td>CREATE SCHEMA</td>
+<td>Partial</td>
+<td>Database is used as the equivalent</td>
+</tr>
+<tr>
+<td>F311-02</td>
+<td>CREATE TABLE for persistent base tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-03</td>
+<td>CREATE VIEW</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-05</td>
+<td>GRANT statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F312</td>
+<td>MERGE statement</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F314</td>
+<td>MERGE statement with DELETE branch</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F382</td>
+<td>Alter column data type</td>
+<td>Yes</td>
+<td>Uses nonstandard syntax</td>
+</tr>
+<tr>
+<td>F391</td>
+<td>Long identifiers</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401</td>
+<td>Extended joined table</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401-01</td>
+<td>NATURAL JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401-02</td>
+<td>FULL OUTER JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F401-04</td>
+<td>CROSS JOIN</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F403</td>
+<td>Partitioned join tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F531</td>
+<td>Temporary tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F555</td>
+<td>Enhanced seconds precision</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F561</td>
+<td>Full value expressions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F591</td>
+<td>Derived tables</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F641</td>
+<td>Row and table constructors</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F651</td>
+<td>Catalog name qualifiers</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F846</td>
+<td>Octet support in regular expression operators</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F847</td>
+<td>Nonconstant regular expressions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F850</td>
+<td>Top-level in </td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F851</td>
+<td> in subqueries</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F852</td>
+<td>Top-level in views</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>F855</td>
+<td>Nested in </td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S023</td>
+<td>Basic structured types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S091</td>
+<td>Basic array support</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S091-01</td>
+<td>Arrays of built-in data types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S091-02</td>
+<td>Arrays of distinct types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S098</td>
+<td>ARRAY_AGG</td>
+<td>Partial</td>
+<td>collect_list provides similar functionality</td>
+</tr>
+<tr>
+<td>S201-01</td>
+<td>Array parameters</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S281</td>
+<td>Nested collection types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>S301</td>
+<td>Enhanced UNNEST</td>
+<td>Partial</td>
+<td>LATERAL JOIN provides similar functionality</td>
+</tr>
+<tr>
+<td>T021</td>
+<td>BINARY and VARBINARY data types</td>
+<td>Partial</td>
+<td>BINARY only</td>
+</tr>
+<tr>
+<td>T031</td>
+<td>BOOLEAN data type</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T051</td>
+<td>Row types</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T071</td>
+<td>BIGINT data type</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T121</td>
+<td>WITH (excluding RECURSIVE) in query expression</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T122</td>
+<td>WITH (excluding RECURSIVE) in subquery</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T171</td>
+<td>LIKE clause in table definition</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T172</td>
+<td>AS subquery clause in table definition</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T281</td>
+<td>SELECT privilege with column granularity</td>
+<td>Partial</td>
+<td>Provided by ecosystem projects like Apache Ranger and Apache Sentry</td>
+</tr>
+<tr>
+<td>T326</td>
+<td>Table functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T331</td>
+<td>Basic roles</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T351</td>
+<td>Bracketed comments</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T431</td>
+<td>Extended grouping capabilities</td>
+<td>Partial</td>
+<td>Concatenated grouping sets unsupported</td>
+</tr>
+<tr>
+<td>T433</td>
+<td>Multiargument GROUPING function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T441</td>
+<td>ABS and MOD functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T501</td>
+<td>Enhanced EXISTS predicate</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T551</td>
+<td>Optional key words for default syntax</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T581</td>
+<td>Regular expression substring function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T611</td>
+<td>Elementary OLAP operations</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T612</td>
+<td>Advanced OLAP operations</td>
+<td>Partial</td>
+<td>PERCENT_RANK, CUME_DIST and ROW_NUMBER supported</td>
+</tr>
+<tr>
+<td>T613</td>
+<td>Sampling</td>
+<td>Yes</td>
+<td>Nonstandard syntax via TABLESAMPLE</td>
+</tr>
+<tr>
+<td>T614</td>
+<td>NTILE function</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T615</td>
+<td>LEAD and LAG functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T616</td>
+<td>Null treatment option for LEAD and LAG functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T617</td>
+<td>FIRST_VALUE and LAST_VALUE functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T621</td>
+<td>Enhanced numeric functions</td>
+<td>Yes</td>
+<td></td>
+</tr>
+<tr>
+<td>T631</td>
+<td>IN predicate with one list element</td>
+<td>Yes</td>
+<td></td>
+</tr>
+</tbody>
+</table>
</div>
</div>
<footer class="black-background static-bottom" style=padding:30px>
diff --git a/docs/latest/97551656/index.html b/docs/latest/97551656/index.html
index 8e4db52..6041c34 100644
--- a/docs/latest/97551656/index.html
+++ b/docs/latest/97551656/index.html
@@ -116,242 +116,1664 @@ ASF
<div class=docs>
<h1 id=apache-hive--supported-features-apache-hive-31>Apache Hive : Supported Features: Apache Hive 3.1</h1>
<p>This table covers all mandatory features from <a href=https://en.wikipedia.org/wiki/SQL:2016>SQL:2016</a> as well as optional features that Hive implements.</p>
-<p>| <strong>Feature ID</strong> | <strong>Feature Name</strong> | <strong>Implemented</strong> | <strong>Mandatory</strong> | <strong>Comments</strong> |
-| E011 | Numeric data types | Yes | Mandatory | |
-| E011-01 | INTEGER and SMALLINT data types (including all spellings) | Yes | Mandatory | |
-| E011-02 | REAL, DOUBLE PRECISON, and FLOAT data types | Yes | Mandatory | |
-| E011-03 | DECIMAL and NUMERIC data types | Yes | Mandatory | |
-| E011-04 | Arithmetic operators | Yes | Mandatory | |
-| E011-05 | Numeric comparison | Yes | Mandatory | |
-| E011-06 | Implicit casting among the numeric data types | Yes | Mandatory | |
-| E021 | Character string types | Yes | Mandatory | |
-| E021-01 | CHARACTER data type (including all its spellings) | Partial | Mandatory | Only support CHAR, not CHARACTER |
-| E021-02 | CHARACTER VARYING data type (including all its spellings) | Partial | Mandatory | Only support VARCHAR, not CHARACTER VARYING or CHAR VARYING |
-| E021-03 | Character literals | Yes | Mandatory | |
-| E021-04 | CHARACTER_LENGTH function | Yes | Mandatory | |
-| E021-05 | OCTET_LENGTH function | Yes | Mandatory | |
-| E021-06 | SUBSTRING function | Partial | Mandatory | Standard: SUBSTRING(<em>val</em> FROM <em>startpos</em> [FOR <em>len</em>]). Hive: SUBSTRING(<em>val</em>, <em>startpos</em> [, <em>len</em>]) |
-| E021-07 | Character concatenation | Yes | Mandatory | |
-| E021-08 | UPPER and LOWER functions | Yes | Mandatory | |
-| E021-09 | TRIM function | Yes | Mandatory | |
-| E021-10 | Implicit casting among the fixed-length and variable-length character string types | Yes | Mandatory | |
-| E021-11 | POSITION function | No | Mandatory | |
-| E021-12 | Character comparison | Yes | Mandatory | |
-| E031 | Identifiers | Partial | Mandatory | Unquoted identifiers use C syntax ([A-Za-z][A-Za-z0-9_]*). Quoted identifiers can have any character. |
-| E031-01 | Delimited identifiers | Partial | Mandatory | Quoting done with ` rather than “, only supported for columns, not tables, views, etc. |
-| E031-02 | Lower case identifiers | Yes | Mandatory | |
-| E031-03 | Trailing underscore | Yes | Mandatory | |
-| E051 | Basic query specification | Yes | Mandatory | |
-| E051-01 | SELECT DISTINCT | Yes | Mandatory | |
-| E051-02 | GROUP BY clause | Yes | Mandatory | |
-| E051-04 | GROUP BY can contain columns not in | Yes | Mandatory | |
-| E051-05 | Select list items can be renamed | Yes | Mandatory | |
-| E051-06 | HAVING clause | Yes | Mandatory | |
-| E051-07 | Qualified * in select list | Yes | Mandatory | |
-| E051-08 | Correlation names in the FROM clause | Yes | Mandatory | |
-| E051-09 | Rename columns in the FROM clause | Yes | Mandatory | |
-| E061 | Basic predicates and search conditions | Yes | Mandatory | |
-| E061-01 | Comparison predicate | Yes | Mandatory | |
-| E061-02 | BETWEEN predicate | Yes | Mandatory | |
-| E061-03 | IN predicate with list of values | Yes | Mandatory | |
-| E061-04 | LIKE predicate | Yes | Mandatory | |
-| E061-05 | LIKE predicate: ESCAPE clause | Yes | Mandatory | |
-| E061-06 | NULL predicate | Yes | Mandatory | |
-| E061-07 | Quantified comparison predicate | No | Mandatory | |
-| E061-08 | EXISTS predicate | Yes | Mandatory | |
-| E061-09 | Subqueries in comparison predicate | No | Mandatory | |
-| E061-11 | Subqueries in IN predicate | Yes | Mandatory | |
-| E061-12 | Subqueries in quantified comparison predicate | No | Mandatory | |
-| E061-13 | Correlated subqueries | Yes | Mandatory | |
-| E061-14 | Search condition | Yes | Mandatory | |
-| E071 | Basic query expressions | Yes | Mandatory | |
-| E071-01 | UNION DISTINCT table operator | Yes | Mandatory | |
-| E071-02 | UNION ALL table operator | Yes | Mandatory | |
-| E071-03 | EXCEPT DISTINCT table operator | Yes | Mandatory | |
-| E071-05 | Columns combined via table operators need not have exactly the same data type. | Yes | Mandatory | |
-| E071-06 | Table operators in subqueries | Yes | Mandatory | |
-| E081 | Basic Privileges | Yes | Mandatory | |
-| E081-01 | SELECT privilege at the table level | Yes | Mandatory | |
-| E081-02 | DELETE privilege | Yes | Mandatory | |
-| E081-03 | INSERT privilege at the table level | Yes | Mandatory | |
-| E081-04 | UPDATE privilege at the table level | Yes | Mandatory | |
-| E081-05 | UPDATE privilege at the column level | Yes | Mandatory | |
-| E081-06 | REFERENCES privilege at the table level | No | Mandatory | |
-| E081-07 | REFERENCES privilege at the column level | No | Mandatory | |
-| E081-08 | WITH GRANT OPTION | Yes | Mandatory | |
-| E081-09 | USAGE privilege | No | Mandatory | |
-| E081-10 | EXECUTE privilege | No | Mandatory | |
-| E091 | Set functions | Yes | Mandatory | |
-| E091-01 | AVG | Yes | Mandatory | |
-| E091-02 | COUNT | Yes | Mandatory | |
-| E091-03 | MAX | Yes | Mandatory | |
-| E091-04 | MIN | Yes | Mandatory | |
-| E091-05 | SUM | Yes | Mandatory | |
-| E091-06 | ALL quantifier | Yes | Mandatory | |
-| E091-07 | DISTINCT quantifier | Yes | Mandatory | |
-| E101 | Basic data manipulation | Yes | Mandatory | |
-| E101-01 | INSERT statement | Yes | Mandatory | |
-| E101-03 | Searched UPDATE statement | Yes | Mandatory | |
-| E101-04 | Searched DELETE statement | Yes | Mandatory | |
-| E111 | Single row SELECT statement | No | Mandatory | |
-| E121 | Basic cursor support | No | Mandatory | |
-| E121-01 | DECLARE CURSOR | No | Mandatory | |
-| E121-02 | ORDER BY columns need not be in select list | No | Mandatory | |
-| E121-03 | Value expressions in ORDER BY clause | No | Mandatory | |
-| E121-04 | OPEN statement | No | Mandatory | |
-| E121-06 | Positioned UPDATE statement | No | Mandatory | |
-| E121-07 | Positioned DELETE statement | No | Mandatory | |
-| E121-08 | CLOSE statement | No | Mandatory | |
-| E121-10 | FETCH statement: implicit NEXT | No | Mandatory | |
-| E121-17 | WITH HOLD cursors | No | Mandatory | |
-| E131 | Null value support (nulls in lieu of values) | Yes | Mandatory | |
-| E141 | Basic integrity constraints | Partial | Mandatory | Don’t support UNIQUE (VALUE) constraints, don’t support UNIQUE over a list of columns. Unique constraints not enforced.Don’t support referencing periods, MATCH, or triggered actions in foreign key.Don’t support CHECK constraints. |
-| E141-01 | NOT NULL constraints | Yes | Mandatory | |
-| E141-02 | UNIQUE constraints of NOT NULL columns | Partial | Mandatory | UNIQUE constraints not enforced |
-| E141-03 | PRIMARY KEY constraints | Partial | Mandatory | Primary keys not enforced |
-| E141-04 | Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action. | Partial | Mandatory | Don’t support referencing periods, MATCH, or triggered actions. Foreign keys not enforced. |
-| E141-06 | CHECK constraints | Yes | Mandatory | |
-| E141-07 | Column defaults | Yes | Mandatory | |
-| E141-08 | NOT NULL inferred on PRIMARY KEY | No | Mandatory | No need to declare NOT NULL with PRIMARY KEY or UNIQUE, but non-nullness not enforced. |
-| E141-10 | Names in a foreign key can be specified in any order | No | Mandatory | |
-| E151 | Transaction support | No | Mandatory | |
-| E151-01 | COMMIT statement | No | Mandatory | |
-| E151-02 | ROLLBACK statement | No | Mandatory | |
-| E152 | Basic SET TRANSACTION statement | No | Mandatory | |
-| E152-01 | SET TRANSACTION state- ment: ISOLATION LEVEL SERIALIZABLE clause | No | Mandatory | |
-| E152-02 | SET TRANSACTION state- ment: READ ONLY and READ WRITE clauses | No | Mandatory | |
-| E153 | Updatable queries with subqueries | No | Mandatory | |
-| E161 | SQL comments using leading double minus | Yes | Mandatory | |
-| E171 | SQLSTATE support | No | Mandatory | |
-| F031 | Basic schema manipulation | Yes | Mandatory | |
-| F031-01 | CREATE TABLE statement to create persistent base tables | Yes | Mandatory | |
-| F031-02 | CREATE VIEW statement | Yes | Mandatory | |
-| F031-03 | GRANT statement | Yes | Mandatory | |
-| F031-04 | ALTER TABLE statement: ADD COLUMN clause | Yes | Mandatory | |
-| F031-13 | DROP TABLE statement: RESTRICT clause | Yes | Mandatory | |
-| F031-16 | DROP VIEW statement: RESTRICT clause | Yes | Mandatory | |
-| F031-19 | REVOKE statement: RESTRICT clause | No | Mandatory | |
-| F032 | CASCADE drop behavior | Yes | Optional | |
-| F034 | Extended REVOKE statement | Yes | Optional | |
-| F034-01 | REVOKE statement performed by other than the owner of a schema object | Yes | Optional | |
-| F034-02 | REVOKE statement: GRANT OPTION FOR clause | Yes | Optional | |
-| F034-03 | REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION | Yes | Optional | |
-| F041 | Basic joined table | Yes | Mandatory | |
-| F041-01 | Inner join (but not necessarily the INNER keyword) | Yes | Mandatory | |
-| F041-02 | INNER keyword | Yes | Mandatory | |
-| F041-03 | LEFT OUTER JOIN | Yes | Mandatory | |
-| F041-04 | RIGHT OUTER JOIN | Yes | Mandatory | |
-| F041-05 | Outer joins can be nested | Yes | Mandatory | |
-| F041-07 | The inner table in a left or right outer join can also be used in an inner join | Yes | Mandatory | |
-| F041-08 | All comparison operators are supported (rather than just =) | Yes | Mandatory | |
-| F051 | Basic date and time | Partial | Mandatory | No support for WITH/OUT TIMEZONE.No support for precision in TIMESTAMP.No support for TIME type. |
-| F051-01 | DATE data type (including support of DATE literal) | Partial | Mandatory | Intervals don’t match spec syntax |
-| F051-02 | TIME data type (including support of TIME literal) with fractional seconds precision of at least 0. | No | Mandatory | |
-| F051-03 | TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6. | Partial | Mandatory | No support for WITH/OUT TIMEZONE.No support for precision.Intervals don’t match spec syntax. |
-| F051-04 | Comparison predicate on DATE, TIME, and TIMESTAMP data types | Partial | Mandatory | No support for TIME |
-| F051-05 | Explicit CAST between date-time types and character string types | Partial | Mandatory | No support for TIME |
-| F051-06 | CURRENT_DATE | Yes | Mandatory | |
-| F051-07 | LOCALTIME | No | Mandatory | |
-| F051-08 | LOCALTIMESTAMP | Partial | Mandatory | CURRENT_TIMESTAMP supported, doesn’t take precision argumentLOCALTIMESTAMP not supported |
-| F052 | Intervals and datetime arithmetic | Partial | Optional | Interval not supported as column type, only as expression type in queries.Interval syntax differs from standard. |
-| F054 | TIMESTAMP in DATE type precedence list | Yes | Optional | |
-| F081 | UNION and EXCEPT in views | Yes | Mandatory | |
-| F131 | Grouped operations | Yes | Mandatory | |
-| F131-01 | WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views | Yes | Mandatory | |
-| F131-02 | Multiple tables supported in queries with grouped views | Yes | Mandatory | |
-| F131-03 | Set functions supported in queries with grouped views | Yes | Mandatory | |
-| F131-04 | Subqueries with GROUP BY and HAVING clauses and grouped views | Yes | Mandatory | |
-| F131-05 | Single row SELECT with GROUP BY and HAVING clauses and grouped views | Yes | Mandatory | |
-| F171 | Multiple schemas per user | Yes | Optional | |
-| F200 | TRUNCATE TABLE statement | Yes | Optional | |
-| F181 | Multiple module support | No | Mandatory | |
-| F201 | CAST function | Yes | Mandatory | |
-| F221 | Explicit defaults | Yes | Mandatory | |
-| F261 | CASE expression | Yes | Mandatory | |
-| F261-01 | Simple CASE | Yes | Mandatory | |
-| F261-02 | Searched CASE | Yes | Mandatory | |
-| F261-03 | NULLIF | Yes | Mandatory | |
-| F261-04 | COALESCE | Yes | Mandatory | |
-| F302 | INTERSECT table operator | Yes | Optional | |
-| F302-01 | INTERSECT DISTINCT table operator | Yes | Optional | |
-| F302-02 | INTERSECT ALL table operator | Yes | Optional | |
-| F304 | EXCEPT ALL table operator | Yes | Optional | |
-| F311 | Schema definition statement | Yes | Mandatory | |
-| F311-01 | CREATE SCHEMA | Yes | Mandatory | |
-| F311-02 | CREATE TABLE for persistent base tables | Partial | Mandatory | Does not create schema element creation as part of schema creation, must be done in separate statement |
-| F311-03 | CREATE VIEW | Partial | Mandatory | Does not create schema element creation as part of schema creation, must be done in separate statement |
-| F311-04 | CREATE VIEW: WITH CHECK OPTION | No | Mandatory | |
-| F311-05 | GRANT statement | Partial | Mandatory | Does not create schema element creation as part of schema creation, must be done in separate statement |
-| F312 | MERGE statement | Yes | Optional | |
-| F313 | Enhanced MERGE statement | Yes | Optional | |
-| F314 | MERGE statement with DELETE branch | Yes | Optional | |
-| F321 | User authorization | Partial | Optional | Support for CURRENT_USER function, none of the rest |
-| F381 | Extended schema manipulation | Partial | Optional | No support for scope.No support for ALTER routine. |
-| F381-01 | ALTER TABLE statement: ALTER COLUMN clause | Partial | Optional | Syntax non-standard.No support for scope.No support for identities.No support for column generation. |
-| F381-02 | ALTER TABLE statement: ADD CONSTRAINT clause | Partial | Optional | Same limitations as creating constraints above |
-| F381-03 | ALTER TABLE statement: DROP CONSTRAINT clause | Partial | Optional | Same limitations as creating constraints above |
-| F382 | Alter column data type | Partial | Optional | Syntax non-standard |
-| F383 | Set column not null clause | Partial | Optional | Syntax non-standard |
-| F391 | Long identifiers | Yes | Optional | |
-| F401 | Extended joined table | Partial | Optional | NATURAL joins not supported |
-| F401-02 | FULL OUTER JOIN | Yes | Optional | |
-| F401-04 | CROSS JOIN | Yes | Optional | |
-| F471 | Scalar subquery values | Yes | Mandatory | |
-| F481 | Expanded NULL predicate | Yes | Mandatory | |
-| F531 | Temporary tabels | Partial | Optional | GLOBAL/LOCAL scope not supported.DECLARE TEMPORARY TABLE not supported. |
-| F555 | Enhanced seconds precision | Yes | Optional | |
-| F763 | CURRENT_SCHEMA | Partial | Optional | CURRENT_DATABASE, which is equivalent |
-| F812 | Basic flagging | No | Mandatory | |
-| F841 | LIKE_REGEX predicate | Partial | Optional | use RLIKE instead |
-| F847 | Nonconstant regular expressions | Yes | Optional | |
-| F850 | Top level in | Yes | Optional | |
-| F851 | in subqueries | Yes | Optional | |
-| F852 | Top-level in views | Yes | Optional | |
-| F855 | Nested in | Yes | Optional | |
-| F856 | Nested in | Yes | Optional | |
-| F857 | Top-level in | Yes | Optional | |
-| F858 | in subqueries | Yes | Optional | |
-| F859 | Top-level in views | Yes | Optional | |
-| S011 | Distinct data types | No | Mandatory | |
-| S091 | Basic array support | Partial | Optional | Syntax non-standard.No option to declare max cardinality.SIZE instead of CARDINALITY. |
-| S091-01 | Arrays of built-in data types | Partial | Optional | Syntax non-standard |
-| S091-03 | Array expressions | Partial | Optional | Support array element reference and cardinality (though syntax non-standard)No support for array concatenation, trimming, or max-cardinality |
-| T021 | BINARY and VARBINARY types | Partial | Optional | BINARY only, though it acts like VARBINARY, no length parameter accepted.No support for overlay, trim, position, or LIKE. |
-| T031 | BOOLEAN data type | Yes | Optional | |
-| T041 | Basic LOB data type support | Partial | Optional | BINARY acts as BLOB (no size restrictions)STRING acts as CLOBNon-standard syntax |
-| T041-01 | BLOB data type | Partial | Optional | BINARY acts as BLOB, non-standard syntax |
-| T041-02 | CLOB data type | Partial | Optional | STRING acts as CLOB, non-standard syntax |
-| T041-03 | POSITION, LENGTH, LOWER, TRIM, UPPER, SUBSTRING for LOB data types | Partial | Optional | No POSITIONLOWER, UPPER only applicable to STRING |
-| T041-04 | Concatenation of LOB types | Yes | Optional | |
-| T042 | Extended LOB data type support | Partial | Optional | Cast for BINARY and STRING supported.LIKE for STRING supported.All other advanced options not supported. |
-| T051 | Row types | Partial | Optional | Called STRUCT rather than ROW |
-| T071 | BIGINT data type | Yes | Optional | |
-| T121 | WITH (excluding RECURSIVE) in query expression | Yes | Optional | |
-| T321 | Basic SQL-invoked routines | No | Mandatory | |
-| T321-01 | User-defined functions with no overloading | No | Mandatory | |
-| T321-02 | User-defined stored procedures with no overloading | No | Mandatory | |
-| T321-03 | Function invocation | No | Mandatory | |
-| T321-04 | CALL statement | No | Mandatory | |
-| T321-05 | RETURN statement | No | Mandatory | |
-| T331 | Basic roles | Yes | Optional | |
-| T351 | Bracketed comments | Yes | Optional | |
-| T431 | Extended grouping capabilities | Yes | Optional | |
-| T433 | Multiargument GROUPING function | Yes | Optional | |
-| T441 | ABS and MOD functions | Yes | Optional | |
-| T501 | Enhanced EXISTS predicate | Yes | Optional | |
-| T581 | Regular expression substring function | Yes | Optional | |
-| T591 | UNIQUE constraints of possibly null columns | Yes | Optional | |
-| T611 | Elementary OLAP operations | Yes | Optional | |
-| T612 | Advanced OLAP operations | Partial | Optional | |
-| T613 | Sampling | Yes | Optional | |
-| T614 | NTILE function | Yes | Optional | |
-| T615 | LEAD and LAG functions | Yes | Optional | |
-| T617 | FIRST_VALUE and LAST_VALUE functions | Yes | Optional | |
-| T621 | Enhanced numeric functions | Yes | Optional | |
-| T622 | Trigonometric functions | Partial | Optional | No sinh, cosh, tanh |
-| T623 | General logarithm functions | Yes | Optional | |
-| T624 | Common logarithm functions | Yes | Optional | |
-| T631 | IN predicate with one list element | Yes | Mandatory |</p>
+<table>
+<thead>
+<tr>
+<th><strong>Feature ID</strong></th>
+<th><strong>Feature Name</strong></th>
+<th><strong>Implemented</strong></th>
+<th><strong>Mandatory</strong></th>
+<th><strong>Comments</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>E011</td>
+<td>Numeric data types</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-01</td>
+<td>INTEGER and SMALLINT data types (including all spellings)</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-02</td>
+<td>REAL, DOUBLE PRECISON, and FLOAT data types</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-03</td>
+<td>DECIMAL and NUMERIC data types</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-04</td>
+<td>Arithmetic operators</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-05</td>
+<td>Numeric comparison</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E011-06</td>
+<td>Implicit casting among the numeric data types</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021</td>
+<td>Character string types</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-01</td>
+<td>CHARACTER data type (including all its spellings)</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Only support CHAR, not CHARACTER</td>
+</tr>
+<tr>
+<td>E021-02</td>
+<td>CHARACTER VARYING data type (including all its spellings)</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Only support VARCHAR, not CHARACTER VARYING or CHAR VARYING</td>
+</tr>
+<tr>
+<td>E021-03</td>
+<td>Character literals</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-04</td>
+<td>CHARACTER_LENGTH function</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-05</td>
+<td>OCTET_LENGTH function</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-06</td>
+<td>SUBSTRING function</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Standard: SUBSTRING(<em>val</em> FROM <em>startpos</em> [FOR <em>len</em>]). Hive: SUBSTRING(<em>val</em>, <em>startpos</em> [, <em>len</em>])</td>
+</tr>
+<tr>
+<td>E021-07</td>
+<td>Character concatenation</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-08</td>
+<td>UPPER and LOWER functions</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-09</td>
+<td>TRIM function</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-10</td>
+<td>Implicit casting among the fixed-length and variable-length character string types</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-11</td>
+<td>POSITION function</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E021-12</td>
+<td>Character comparison</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E031</td>
+<td>Identifiers</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Unquoted identifiers use C syntax ([A-Za-z][A-Za-z0-9_]*). Quoted identifiers can have any character.</td>
+</tr>
+<tr>
+<td>E031-01</td>
+<td>Delimited identifiers</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Quoting done with ` rather than “, only supported for columns, not tables, views, etc.</td>
+</tr>
+<tr>
+<td>E031-02</td>
+<td>Lower case identifiers</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E031-03</td>
+<td>Trailing underscore</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051</td>
+<td>Basic query specification</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-01</td>
+<td>SELECT DISTINCT</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-02</td>
+<td>GROUP BY clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-04</td>
+<td>GROUP BY can contain columns not in </td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-05</td>
+<td>Select list items can be renamed</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-06</td>
+<td>HAVING clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-07</td>
+<td>Qualified * in select list</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-08</td>
+<td>Correlation names in the FROM clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E051-09</td>
+<td>Rename columns in the FROM clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061</td>
+<td>Basic predicates and search conditions</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-01</td>
+<td>Comparison predicate</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-02</td>
+<td>BETWEEN predicate</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-03</td>
+<td>IN predicate with list of values</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-04</td>
+<td>LIKE predicate</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-05</td>
+<td>LIKE predicate: ESCAPE clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-06</td>
+<td>NULL predicate</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-07</td>
+<td>Quantified comparison predicate</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-08</td>
+<td>EXISTS predicate</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-09</td>
+<td>Subqueries in comparison predicate</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-11</td>
+<td>Subqueries in IN predicate</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-12</td>
+<td>Subqueries in quantified comparison predicate</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-13</td>
+<td>Correlated subqueries</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E061-14</td>
+<td>Search condition</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E071</td>
+<td>Basic query expressions</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-01</td>
+<td>UNION DISTINCT table operator</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-02</td>
+<td>UNION ALL table operator</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-03</td>
+<td>EXCEPT DISTINCT table operator</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-05</td>
+<td>Columns combined via table operators need not have exactly the same data type.</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E071-06</td>
+<td>Table operators in subqueries</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081</td>
+<td>Basic Privileges</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-01</td>
+<td>SELECT privilege at the table level</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-02</td>
+<td>DELETE privilege</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-03</td>
+<td>INSERT privilege at the table level</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-04</td>
+<td>UPDATE privilege at the table level</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-05</td>
+<td>UPDATE privilege at the column level</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-06</td>
+<td>REFERENCES privilege at the table level</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-07</td>
+<td>REFERENCES privilege at the column level</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-08</td>
+<td>WITH GRANT OPTION</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-09</td>
+<td>USAGE privilege</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E081-10</td>
+<td>EXECUTE privilege</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091</td>
+<td>Set functions</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-01</td>
+<td>AVG</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-02</td>
+<td>COUNT</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-03</td>
+<td>MAX</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-04</td>
+<td>MIN</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-05</td>
+<td>SUM</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-06</td>
+<td>ALL quantifier</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E091-07</td>
+<td>DISTINCT quantifier</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E101</td>
+<td>Basic data manipulation</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-01</td>
+<td>INSERT statement</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-03</td>
+<td>Searched UPDATE statement</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E101-04</td>
+<td>Searched DELETE statement</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E111</td>
+<td>Single row SELECT statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121</td>
+<td>Basic cursor support</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-01</td>
+<td>DECLARE CURSOR</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-02</td>
+<td>ORDER BY columns need not be in select list</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-03</td>
+<td>Value expressions in ORDER BY clause</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-04</td>
+<td>OPEN statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-06</td>
+<td>Positioned UPDATE statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-07</td>
+<td>Positioned DELETE statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-08</td>
+<td>CLOSE statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-10</td>
+<td>FETCH statement: implicit NEXT</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E121-17</td>
+<td>WITH HOLD cursors</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E131</td>
+<td>Null value support (nulls in lieu of values)</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E141</td>
+<td>Basic integrity constraints</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Don’t support UNIQUE (VALUE) constraints, don’t support UNIQUE over a list of columns. Unique constraints not enforced.Don’t support referencing periods, MATCH, or triggered actions in foreign key.Don’t support CHECK constraints.</td>
+</tr>
+<tr>
+<td>E141-01</td>
+<td>NOT NULL constraints</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E141-02</td>
+<td>UNIQUE constraints of NOT NULL columns</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>UNIQUE constraints not enforced</td>
+</tr>
+<tr>
+<td>E141-03</td>
+<td>PRIMARY KEY constraints</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Primary keys not enforced</td>
+</tr>
+<tr>
+<td>E141-04</td>
+<td>Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action.</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Don’t support referencing periods, MATCH, or triggered actions. Foreign keys not enforced.</td>
+</tr>
+<tr>
+<td>E141-06</td>
+<td>CHECK constraints</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E141-07</td>
+<td>Column defaults</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E141-08</td>
+<td>NOT NULL inferred on PRIMARY KEY</td>
+<td>No</td>
+<td>Mandatory</td>
+<td>No need to declare NOT NULL with PRIMARY KEY or UNIQUE, but non-nullness not enforced.</td>
+</tr>
+<tr>
+<td>E141-10</td>
+<td>Names in a foreign key can be specified in any order</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E151</td>
+<td>Transaction support</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E151-01</td>
+<td>COMMIT statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E151-02</td>
+<td>ROLLBACK statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E152</td>
+<td>Basic SET TRANSACTION statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E152-01</td>
+<td>SET TRANSACTION state- ment: ISOLATION LEVEL SERIALIZABLE clause</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E152-02</td>
+<td>SET TRANSACTION state- ment: READ ONLY and READ WRITE clauses</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E153</td>
+<td>Updatable queries with subqueries</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E161</td>
+<td>SQL comments using leading double minus</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>E171</td>
+<td>SQLSTATE support</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031</td>
+<td>Basic schema manipulation</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-01</td>
+<td>CREATE TABLE statement to create persistent base tables</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-02</td>
+<td>CREATE VIEW statement</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-03</td>
+<td>GRANT statement</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-04</td>
+<td>ALTER TABLE statement: ADD COLUMN clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-13</td>
+<td>DROP TABLE statement: RESTRICT clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-16</td>
+<td>DROP VIEW statement: RESTRICT clause</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F031-19</td>
+<td>REVOKE statement: RESTRICT clause</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F032</td>
+<td>CASCADE drop behavior</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F034</td>
+<td>Extended REVOKE statement</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F034-01</td>
+<td>REVOKE statement performed by other than the owner of a schema object</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F034-02</td>
+<td>REVOKE statement: GRANT OPTION FOR clause</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F034-03</td>
+<td>REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F041</td>
+<td>Basic joined table</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-01</td>
+<td>Inner join (but not necessarily the INNER keyword)</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-02</td>
+<td>INNER keyword</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-03</td>
+<td>LEFT OUTER JOIN</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-04</td>
+<td>RIGHT OUTER JOIN</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-05</td>
+<td>Outer joins can be nested</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-07</td>
+<td>The inner table in a left or right outer join can also be used in an inner join</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F041-08</td>
+<td>All comparison operators are supported (rather than just =)</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F051</td>
+<td>Basic date and time</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>No support for WITH/OUT TIMEZONE.No support for precision in TIMESTAMP.No support for TIME type.</td>
+</tr>
+<tr>
+<td>F051-01</td>
+<td>DATE data type (including support of DATE literal)</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Intervals don’t match spec syntax</td>
+</tr>
+<tr>
+<td>F051-02</td>
+<td>TIME data type (including support of TIME literal) with fractional seconds precision of at least 0.</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-03</td>
+<td>TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6.</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>No support for WITH/OUT TIMEZONE.No support for precision.Intervals don’t match spec syntax.</td>
+</tr>
+<tr>
+<td>F051-04</td>
+<td>Comparison predicate on DATE, TIME, and TIMESTAMP data types</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>No support for TIME</td>
+</tr>
+<tr>
+<td>F051-05</td>
+<td>Explicit CAST between date-time types and character string types</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>No support for TIME</td>
+</tr>
+<tr>
+<td>F051-06</td>
+<td>CURRENT_DATE</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-07</td>
+<td>LOCALTIME</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F051-08</td>
+<td>LOCALTIMESTAMP</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>CURRENT_TIMESTAMP supported, doesn’t take precision argumentLOCALTIMESTAMP not supported </td>
+</tr>
+<tr>
+<td>F052</td>
+<td>Intervals and datetime arithmetic</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Interval not supported as column type, only as expression type in queries.Interval syntax differs from standard.</td>
+</tr>
+<tr>
+<td>F054</td>
+<td>TIMESTAMP in DATE type precedence list</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F081</td>
+<td>UNION and EXCEPT in views</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F131</td>
+<td>Grouped operations</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-01</td>
+<td>WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-02</td>
+<td>Multiple tables supported in queries with grouped views</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-03</td>
+<td>Set functions supported in queries with grouped views</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-04</td>
+<td>Subqueries with GROUP BY and HAVING clauses and grouped views</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F131-05</td>
+<td>Single row SELECT with GROUP BY and HAVING clauses and grouped views</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F171</td>
+<td>Multiple schemas per user</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F200</td>
+<td>TRUNCATE TABLE statement</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F181</td>
+<td>Multiple module support</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F201</td>
+<td>CAST function</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F221</td>
+<td>Explicit defaults</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F261</td>
+<td>CASE expression</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-01</td>
+<td>Simple CASE</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-02</td>
+<td>Searched CASE</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-03</td>
+<td>NULLIF</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F261-04</td>
+<td>COALESCE</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F302</td>
+<td>INTERSECT table operator</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F302-01</td>
+<td>INTERSECT DISTINCT table operator</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F302-02</td>
+<td>INTERSECT ALL table operator</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F304</td>
+<td>EXCEPT ALL table operator</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F311</td>
+<td>Schema definition statement</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-01</td>
+<td>CREATE SCHEMA</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-02</td>
+<td>CREATE TABLE for persistent base tables</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Does not create schema element creation as part of schema creation, must be done in separate statement</td>
+</tr>
+<tr>
+<td>F311-03</td>
+<td>CREATE VIEW</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Does not create schema element creation as part of schema creation, must be done in separate statement</td>
+</tr>
+<tr>
+<td>F311-04</td>
+<td>CREATE VIEW: WITH CHECK OPTION</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F311-05</td>
+<td>GRANT statement</td>
+<td>Partial</td>
+<td>Mandatory</td>
+<td>Does not create schema element creation as part of schema creation, must be done in separate statement</td>
+</tr>
+<tr>
+<td>F312</td>
+<td>MERGE statement</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F313</td>
+<td>Enhanced MERGE statement</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F314</td>
+<td>MERGE statement with DELETE branch</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F321</td>
+<td>User authorization</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Support for CURRENT_USER function, none of the rest</td>
+</tr>
+<tr>
+<td>F381</td>
+<td>Extended schema manipulation</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>No support for scope.No support for ALTER routine.</td>
+</tr>
+<tr>
+<td>F381-01</td>
+<td>ALTER TABLE statement: ALTER COLUMN clause</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Syntax non-standard.No support for scope.No support for identities.No support for column generation.</td>
+</tr>
+<tr>
+<td>F381-02</td>
+<td>ALTER TABLE statement: ADD CONSTRAINT clause</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Same limitations as creating constraints above</td>
+</tr>
+<tr>
+<td>F381-03</td>
+<td>ALTER TABLE statement: DROP CONSTRAINT clause</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Same limitations as creating constraints above</td>
+</tr>
+<tr>
+<td>F382</td>
+<td>Alter column data type</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Syntax non-standard</td>
+</tr>
+<tr>
+<td>F383</td>
+<td>Set column not null clause</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Syntax non-standard</td>
+</tr>
+<tr>
+<td>F391</td>
+<td>Long identifiers</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F401</td>
+<td>Extended joined table</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>NATURAL joins not supported</td>
+</tr>
+<tr>
+<td>F401-02</td>
+<td>FULL OUTER JOIN</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F401-04</td>
+<td>CROSS JOIN</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F471</td>
+<td>Scalar subquery values</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F481</td>
+<td>Expanded NULL predicate</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F531</td>
+<td>Temporary tabels</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>GLOBAL/LOCAL scope not supported.DECLARE TEMPORARY TABLE not supported.</td>
+</tr>
+<tr>
+<td>F555</td>
+<td>Enhanced seconds precision</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F763</td>
+<td>CURRENT_SCHEMA</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>CURRENT_DATABASE, which is equivalent</td>
+</tr>
+<tr>
+<td>F812</td>
+<td>Basic flagging</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>F841</td>
+<td>LIKE_REGEX predicate</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>use RLIKE instead</td>
+</tr>
+<tr>
+<td>F847</td>
+<td>Nonconstant regular expressions</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F850</td>
+<td>Top level in </td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F851</td>
+<td> in subqueries</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F852</td>
+<td>Top-level in views</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F855</td>
+<td>Nested in </td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F856</td>
+<td>Nested in </td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F857</td>
+<td>Top-level in </td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F858</td>
+<td> in subqueries</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>F859</td>
+<td>Top-level in views</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>S011</td>
+<td>Distinct data types</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>S091</td>
+<td>Basic array support</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Syntax non-standard.No option to declare max cardinality.SIZE instead of CARDINALITY.</td>
+</tr>
+<tr>
+<td>S091-01</td>
+<td>Arrays of built-in data types</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Syntax non-standard</td>
+</tr>
+<tr>
+<td>S091-03</td>
+<td>Array expressions</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Support array element reference and cardinality (though syntax non-standard)No support for array concatenation, trimming, or max-cardinality</td>
+</tr>
+<tr>
+<td>T021</td>
+<td>BINARY and VARBINARY types</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>BINARY only, though it acts like VARBINARY, no length parameter accepted.No support for overlay, trim, position, or LIKE.</td>
+</tr>
+<tr>
+<td>T031</td>
+<td>BOOLEAN data type</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T041</td>
+<td>Basic LOB data type support</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>BINARY acts as BLOB (no size restrictions)STRING acts as CLOBNon-standard syntax</td>
+</tr>
+<tr>
+<td>T041-01</td>
+<td>BLOB data type</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>BINARY acts as BLOB, non-standard syntax</td>
+</tr>
+<tr>
+<td>T041-02</td>
+<td>CLOB data type</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>STRING acts as CLOB, non-standard syntax</td>
+</tr>
+<tr>
+<td>T041-03</td>
+<td>POSITION, LENGTH, LOWER, TRIM, UPPER, SUBSTRING for LOB data types</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>No POSITIONLOWER, UPPER only applicable to STRING</td>
+</tr>
+<tr>
+<td>T041-04</td>
+<td>Concatenation of LOB types</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T042</td>
+<td>Extended LOB data type support</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Cast for BINARY and STRING supported.LIKE for STRING supported.All other advanced options not supported.</td>
+</tr>
+<tr>
+<td>T051</td>
+<td>Row types</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>Called STRUCT rather than ROW</td>
+</tr>
+<tr>
+<td>T071</td>
+<td>BIGINT data type</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T121</td>
+<td>WITH (excluding RECURSIVE) in query expression</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T321</td>
+<td>Basic SQL-invoked routines</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>T321-01</td>
+<td>User-defined functions with no overloading</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>T321-02</td>
+<td>User-defined stored procedures with no overloading</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>T321-03</td>
+<td>Function invocation</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>T321-04</td>
+<td>CALL statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>T321-05</td>
+<td>RETURN statement</td>
+<td>No</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+<tr>
+<td>T331</td>
+<td>Basic roles</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T351</td>
+<td>Bracketed comments</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T431</td>
+<td>Extended grouping capabilities</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T433</td>
+<td>Multiargument GROUPING function</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T441</td>
+<td>ABS and MOD functions</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T501</td>
+<td>Enhanced EXISTS predicate</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T581</td>
+<td>Regular expression substring function</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T591</td>
+<td>UNIQUE constraints of possibly null columns</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T611</td>
+<td>Elementary OLAP operations</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T612</td>
+<td>Advanced OLAP operations</td>
+<td>Partial</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T613</td>
+<td>Sampling</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T614</td>
+<td>NTILE function</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T615</td>
+<td>LEAD and LAG functions</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T617</td>
+<td>FIRST_VALUE and LAST_VALUE functions</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T621</td>
+<td>Enhanced numeric functions</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T622</td>
+<td>Trigonometric functions</td>
+<td>Partial</td>
+<td>Optional</td>
+<td>No sinh, cosh, tanh</td>
+</tr>
+<tr>
+<td>T623</td>
+<td>General logarithm functions</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T624</td>
+<td>Common logarithm functions</td>
+<td>Yes</td>
+<td>Optional</td>
+<td></td>
+</tr>
+<tr>
+<td>T631</td>
+<td>IN predicate with one list element</td>
+<td>Yes</td>
+<td>Mandatory</td>
+<td></td>
+</tr>
+</tbody>
+</table>
<h2 id=comments>Comments:</h2>
<table>
<thead>
diff --git a/docs/latest/adminmanual-configuration_27362070/index.html b/docs/latest/adminmanual-configuration_27362070/index.html
index 41c2633..8fc68dd 100644
--- a/docs/latest/adminmanual-configuration_27362070/index.html
+++ b/docs/latest/adminmanual-configuration_27362070/index.html
@@ -393,25 +393,109 @@ hive-site.xml -> hivemetastore-site.xml -> hiveserver2-site.xml -> ‘<code>
<p>Please see <a href=https://hive.apache.org/docs/latest/adminmanual-metastore-administration_27362076/>Hive Metastore Administration</a> for information about the configuration variables used to set up the metastore in local, remote, or embedded mode. Also see descriptions in the <a href=#metastore>Metastore</a> section of the Language Manual’s <a href=https://hive.apache.org/docs/latest/configuration-properties_27842758/>Hive Configuration Properties</a>.</p>
<p>For security configuration (Hive 0.10 and later), see the <a href=https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-HiveMetastoreSecurity>Hive Metastore Security</a> section in the Language Manual’s <a href=https://hive.apache.org/docs/latest/configuration-properties_27842758/>Hive Configuration Properties</a>.</p>
<h4 id=configuration-variables-used-to-interact-with-hadoop>Configuration Variables Used to Interact with Hadoop</h4>
-<p>| <strong>Variable Name</strong> | <strong>Description</strong> | <strong>Default Value</strong> |
-| hadoop.bin.path | The location of the Hadoop script which is used to submit jobs to Hadoop when submitting through a separate JVM. | $HADOOP_HOME/bin/hadoop |
-| hadoop.config.dir | The location of the configuration directory of the Hadoop installation. | $HADOOP_HOME/conf |
-| fs.default.name | The default name of the filesystem (for example, localhost for hdfs://:8020).For YARN this configuration variable is called fs.defaultFS. | file:/// |
-| map.input.file | The filename the map is reading from. | null |
-| mapred.job.tracker | The URL to the jobtracker. If this is set to local then map/reduce is run in the local mode. | local |
-| mapred.reduce.tasks | The number of reducers for each map/reduce stage in the query plan. | 1 |
-| mapred.job.name | The name of the map/reduce job. | null |
-| mapreduce.input.fileinputformat.split.maxsize | For splittable data this changes the portion of the data that each mapper is assigned. By default, each mapper is assigned based on the block sizes of the source files. Entering a value larger than the block size will decrease the number of splits which creates fewer mappers. Entering a value smaller than the block size will increase the number of splits which creates more mappers. | empty |
-| fs.trash.interval | The interval, in minutes, after which a trash checkpoint directory is deleted. (This is also the interval between checkpoints.) The checkpoint directory is located in <code>.Trash</code> under the user’s home directory and contains files and directories that were removed since the previous checkpoint.Any setting greater than 0 enables the trash feature of HDFS.When using the Transparent Data Encryption (TDE) feature, set this to 0 in Hadoop core-site.xml as do [...]
+<table>
+<thead>
+<tr>
+<th><strong>Variable Name</strong></th>
+<th><strong>Description</strong></th>
+<th><strong>Default Value</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>hadoop.bin.path</td>
+<td>The location of the Hadoop script which is used to submit jobs to Hadoop when submitting through a separate JVM.</td>
+<td>$HADOOP_HOME/bin/hadoop</td>
+</tr>
+<tr>
+<td>hadoop.config.dir</td>
+<td>The location of the configuration directory of the Hadoop installation.</td>
+<td>$HADOOP_HOME/conf</td>
+</tr>
+<tr>
+<td>fs.default.name</td>
+<td>The default name of the filesystem (for example, localhost for hdfs://:8020).For YARN this configuration variable is called fs.defaultFS.</td>
+<td>file:///</td>
+</tr>
+<tr>
+<td>map.input.file</td>
+<td>The filename the map is reading from.</td>
+<td>null</td>
+</tr>
+<tr>
+<td>mapred.job.tracker</td>
+<td>The URL to the jobtracker. If this is set to local then map/reduce is run in the local mode.</td>
+<td>local</td>
+</tr>
+<tr>
+<td>mapred.reduce.tasks</td>
+<td>The number of reducers for each map/reduce stage in the query plan.</td>
+<td>1</td>
+</tr>
+<tr>
+<td>mapred.job.name</td>
+<td>The name of the map/reduce job.</td>
+<td>null</td>
+</tr>
+<tr>
+<td>mapreduce.input.fileinputformat.split.maxsize</td>
+<td>For splittable data this changes the portion of the data that each mapper is assigned. By default, each mapper is assigned based on the block sizes of the source files. Entering a value larger than the block size will decrease the number of splits which creates fewer mappers. Entering a value smaller than the block size will increase the number of splits which creates more mappers.</td>
+<td>empty</td>
+</tr>
+<tr>
+<td>fs.trash.interval</td>
+<td>The interval, in minutes, after which a trash checkpoint directory is deleted. (This is also the interval between checkpoints.) The checkpoint directory is located in <code>.Trash</code> under the user’s home directory and contains files and directories that were removed since the previous checkpoint.Any setting greater than 0 enables the trash feature of HDFS.When using the Transparent Data Encryption (TDE) feature, set this to 0 in Hadoop core-site.xml as documented in <a hre [...]
+<td>0</td>
+</tr>
+</tbody>
+</table>
<h4 id=hive-variables-used-to-pass-run-time-information>Hive Variables Used to Pass Run Time Information</h4>
-<p>| <strong>Variable Name</strong> | <strong>Description</strong> | <strong>Default Value</strong> |
-| hive.session.id | The id of the Hive Session. | |
-| hive.query.string | The query string passed to the map/reduce job. | |
-| hive.query.planid | The id of the plan for the map/reduce stage. | |
-| hive.jobname.length | The maximum length of the jobname. | 50 |
-| hive.table.name | The name of the Hive table. This is passed to the user scripts through the script operator. | |
-| hive.partition.name | The name of the Hive partition. This is passed to the user scripts through the script operator. | |
-| hive.alias | The alias being processed. This is also passed to the user scripts through the script operator. | |</p>
+<table>
+<thead>
+<tr>
+<th><strong>Variable Name</strong></th>
+<th><strong>Description</strong></th>
+<th><strong>Default Value</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>hive.session.id</td>
+<td>The id of the Hive Session.</td>
+<td> </td>
+</tr>
+<tr>
+<td>hive.query.string</td>
+<td>The query string passed to the map/reduce job.</td>
+<td> </td>
+</tr>
+<tr>
+<td>hive.query.planid</td>
+<td>The id of the plan for the map/reduce stage.</td>
+<td> </td>
+</tr>
+<tr>
+<td>hive.jobname.length</td>
+<td>The maximum length of the jobname.</td>
+<td>50</td>
+</tr>
+<tr>
+<td>hive.table.name</td>
+<td>The name of the Hive table. This is passed to the user scripts through the script operator.</td>
+<td> </td>
+</tr>
+<tr>
+<td>hive.partition.name</td>
+<td>The name of the Hive partition. This is passed to the user scripts through the script operator.</td>
+<td> </td>
+</tr>
+<tr>
+<td>hive.alias</td>
+<td>The alias being processed. This is also passed to the user scripts through the script operator.</td>
+<td> </td>
+</tr>
+</tbody>
+</table>
<h2 id=removing-hive-metastore-password-from-hive-configuration>Removing Hive Metastore Password from Hive Configuration</h2>
<p>Support for this was added in Hive 0.14.0 with <a href=https://issues.apache.org/jira/browse/HIVE-7634>HIVE-7634</a> and <a href=https://issues.apache.org/jira/browse/HADOOP-10904>HADOOP-10904</a>. By setting up a CredentialProvider to handle storing/retrieval of passwords, you can remove the need to keep the Hive metastore password in cleartext in the Hive configuration.</p>
<ol>
diff --git a/docs/latest/adminmanual-metastore-3-0-administration_75978150/index.html b/docs/latest/adminmanual-metastore-3-0-administration_75978150/index.html
index 8b886a1..1c061b0 100644
--- a/docs/latest/adminmanual-metastore-3-0-administration_75978150/index.html
+++ b/docs/latest/adminmanual-metastore-3-0-administration_75978150/index.html
@@ -267,28 +267,38 @@ ASF
<tr>
<td>MS SQL Server</td>
<td>2008 R2</td>
-<td>jdbc:sqlserver://:;DatabaseName=</td>
-<td></td>
+<td><code>jdbc:sqlserver://<HOST>:<PORT>;DatabaseName=<SCHEMA></code></td>
+<td><code>com.microsoft.sqlserver.jdbc.SQLServerDriver</code></td>
+</tr>
+<tr>
+<td>MySQL</td>
+<td>5.6.17</td>
+<td><code>jdbc:mysql://<HOST>:<PORT>/<SCHEMA></code></td>
+<td><code>com.mysql.jdbc.Driver</code></td>
+</tr>
+<tr>
+<td>MariaDB</td>
+<td>5.5</td>
+<td><code>jdbc:mysql://<HOST>:<PORT>/<SCHEMA></code></td>
+<td><code>org.mariadb.jdbc.Driver</code></td>
+</tr>
+<tr>
+<td>Oracle*</td>
+<td>11g</td>
+<td><code>jdbc:oracle:thin:@//<HOST>:<PORT>/xe</code></td>
+<td><code>oracle.jdbc.OracleDriver</code></td>
+</tr>
+<tr>
+<td>Postgres</td>
+<td>9.1.13</td>
+<td><code>jdbc:postgresql://<HOST>:<PORT>/<SCHEMA></code></td>
+<td><code>org.postgresql.Driver</code></td>
</tr>
</tbody>
</table>
-<pre tabindex=0><code>com.microsoft.sqlserver.jdbc.SQLServerDriver
-</code></pre><p>|
-| MySQL | 5.6.17 | jdbc:mysql://:/ |</p>
-<pre tabindex=0><code>com.mysql.jdbc.Driver
-</code></pre><p>|
-| MariaDB | 5.5 | jdbc:mysql://:/ |</p>
-<pre tabindex=0><code>org.mariadb.jdbc.Driver
-</code></pre><p>|
-| Oracle* | 11g | jdbc:oracle:thin:@//:/xe |</p>
-<pre tabindex=0><code>oracle.jdbc.OracleDriver
-</code></pre><p>|
-| Postgres | 9.1.13 | jdbc:postgresql://:/ |</p>
-<pre tabindex=0><code>org.postgresql.Driver
-</code></pre><p>|</p>
-<p> = The host the RDBMS is on.</p>
-<p> = Port the RDBMS is listening for JDBC connections on</p>
-<p> = The schema (or database) that the Metastore stores its tables in.</p>
+<p><HOST> = The host the RDBMS is on.</p>
+<p><PORT> = Port the RDBMS is listening for JDBC connections on</p>
+<p><SCHEMA> = The schema (or database) that the Metastore stores its tables in.</p>
<p>*The Oracle values shown are for Oracle’s thin JDBC client. If you are using a different client the ConnectionURL and ConnectionDriverName values will differ.</p>
<p><strong>Special Note:</strong> When using Postgres you should set the configuration parameter <code>metastore.try.direct.sql.ddl</code> (previously <code>hive.metastore.try.direct.sql.ddl</code>) to false, to avoid failures in certain operations.</p>
<h3 id=installing-and-upgrading-the-metastore-schema>Installing and Upgrading the Metastore Schema</h3>
diff --git a/docs/latest/adminmanual-metastore-administration_27362076/index.html b/docs/latest/adminmanual-metastore-administration_27362076/index.html
index 982078f..b8004db 100644
--- a/docs/latest/adminmanual-metastore-administration_27362076/index.html
+++ b/docs/latest/adminmanual-metastore-administration_27362076/index.html
@@ -516,15 +516,23 @@ ASF
<tr>
<td>Postgres</td>
<td>9.1.13</td>
+<td><code>postgres</code></td>
<td></td>
+</tr>
+<tr>
+<td>Oracle</td>
+<td>11g</td>
+<td><code>oracle</code></td>
+<td><a href=#hive-metastore-orm-retrievemapnullsasemptystrings>hive.metastore.orm.retrieveMapNullsAsEmptyStrings</a></td>
+</tr>
+<tr>
+<td>MS SQL Server</td>
+<td>2008 R2</td>
+<td><code>mssql</code></td>
<td></td>
</tr>
</tbody>
</table>
-<pre tabindex=0><code>postgres
-</code></pre><p>| |
-| Oracle | 11g | <code>oracle</code> | <a href=#hive-metastore-orm-retrievemapnullsasemptystrings>hive.metastore.orm.retrieveMapNullsAsEmptyStrings</a> |
-| MS SQL Server | 2008 R2 | <code>mssql</code> | |</p>
<h3 id=metastore-schema-consistency-and-upgrades>Metastore Schema Consistency and Upgrades</h3>
<p>Version</p>
<p>Introduced in Hive 0.12.0. See <a href=https://issues.apache.org/jira/browse/HIVE-3764>HIVE-3764</a>.</p>
diff --git a/docs/latest/committed-jiras-for-1-2-1_58851880/index.html b/docs/latest/committed-jiras-for-1-2-1_58851880/index.html
index f4f6677..81c21e5 100644
--- a/docs/latest/committed-jiras-for-1-2-1_58851880/index.html
+++ b/docs/latest/committed-jiras-for-1-2-1_58851880/index.html
@@ -130,24 +130,30 @@ ASF
<tbody>
<tr>
<td>Tez</td>
-<td></td>
-<td></td>
-<td></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10551?src=confmacro">HIVE-10551</a> - OOM when running query_89 with vectorization on & hybridgrace=false Resolved</td>
+<td>open</td>
+<td>sseth</td>
</tr>
<tr>
-<td><a href="https://issues.apache.org/jira/browse/HIVE-10551?src=confmacro">HIVE-10551</a></td>
-<td></td>
-<td></td>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10566?src=confmacro">HIVE-10566</a> - LLAP: Vector row extraction allocates new extractors per process method call instead of just once Resolved</td>
+<td>open</td>
+<td>mmccline</td>
+</tr>
+<tr>
+<td>Hive with TDE</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10978?src=confmacro">HIVE-10978</a> - Document fs.trash.interval wrt Hive and HDFS Encryption Open</td>
+<td>No source code changes butshould be in rel notes</td>
<td></td>
</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11028?src=confmacro">HIVE-11028</a> - Tez: table self join and join with another table fails with IndexOutOfBoundsException Closed</td>
+<td>committed in 1.2.2/1.3</td>
+<td>jdere</td>
+</tr>
</tbody>
</table>
-<ul>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-</ul>
<h1 id=list-of-jiras-committed-in-branch-12-for-121-1>List of JIRAs committed in branch-1.2 for 1.2.1</h1>
<p>This is to be a list of jiras that were initially intended for 1.2, but cannot be finished in time for 1.2.0, and are not blockers/outages but desired in 1.2 nonetheless. They are currently being considered for 1.2.1.</p>
<p>In general, now that 1.2.0 has been voted on and in the process of releasing, committers may add more jiras to this list and commit patches to branch-1.2 again, pursuant to the following rules:</p>
@@ -169,402 +175,480 @@ ASF
<tbody>
<tr>
<td>Tez</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10559?src=confmacro">HIVE-10559</a> - IndexOutOfBoundsException with RemoveDynamicPruningBySize Closed</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10565?src=confmacro">HIVE-10565</a> - LLAP: Native Vector Map Join doesn’t handle filtering and matching on LEFT OUTER JOIN repeated key correctly Closed</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>Vectorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10628?src=confmacro">HIVE-10628</a> - Incorrect result when vectorized native mapjoin is enabled using null safe operators <=> Resolved</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>Unit Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10563?src=confmacro">HIVE-10563</a> - MiniTezCliDriver tests ordering issues Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Optimizer</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10107?src=confmacro">HIVE-10107</a> - Union All : Vertex missing stats resulting in OOM and in-efficient plans Resolved</td>
+<td>committed</td>
+<td>mmokhtar</td>
+</tr>
+<tr>
+<td>Build</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10675?src=confmacro">HIVE-10675</a> - Provide option to skip Accumulo related Hive tests in itests directory Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Schematool</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10659?src=confmacro">HIVE-10659</a> - Beeline command which contains semi-colon as a non-command terminator will fail Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Unit Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10664?src=confmacro">HIVE-10664</a> - Unit tests run fail in windows because of illegal escape character in file path Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10690?src=confmacro">HIVE-10690</a> - ArrayIndexOutOfBounds exception in MetaStoreDirectSql.aggrColStatsForPartitions() Resolved</td>
+<td>committed</td>
+<td>vgumashta</td>
+</tr>
+<tr>
+<td>SerDe</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10672?src=confmacro">HIVE-10672</a> - Analyze command on a table using row format serde JsonSerDe fails with NoClassDefFoundError Resolved</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>UnitTests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10696?src=confmacro">HIVE-10696</a> - TestAddResource tests are non-portable Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>ACID</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11006?src=confmacro">HIVE-11006</a> - improve logging wrt ACID module Closed</td>
+<td>Committed to master, branch-1.2,branch-1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>SQL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10776?src=confmacro">HIVE-10776</a> - Schema on insert for bucketed tables throwing NullPointerException Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>SQL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10828?src=confmacro">HIVE-10828</a> - Insert with schema and dynamic partitions NullPointerException Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>SQL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10934?src=confmacro">HIVE-10934</a> - Restore support for DROP PARTITION PURGE Resolved</td>
<td></td>
<td></td>
+</tr>
+<tr>
+<td>Committed</td>
+<td>ekoifman</td>
<td></td>
+<td>Hive with TDE</td>
</tr>
<tr>
-<td><a href="https://issues.apache.org/jira/browse/HIVE-10559?src=confmacro">HIVE-10559</a></td>
+<td>Hive with TDE</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10630?src=confmacro">HIVE-10630</a> - Renaming tables across encryption zones renames table even though the operation throws error Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>Hive with TDE</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10629?src=confmacro">HIVE-10629</a> - Dropping table in an encrypted zone does not drop warehouse directory Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>Hive with TDE</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10658?src=confmacro">HIVE-10658</a> - Insert with values clause may expose data that should be encrypted Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>Hive with TDE</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10747?src=confmacro">HIVE-10747</a> - Enable the cleanup of side effect for the Encryption related qfile test Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>fred</td>
+</tr>
+<tr>
+<td>WebHCat</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10858?src=confmacro">HIVE-10858</a> - WebHCat specific resources should be added to HADOOP_CLASSPATH first Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>WebHCat</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10605?src=confmacro">HIVE-10605</a> - Make hive version number update automatically in webhcat-default.xml during hive tar generation Resolved</td>
+<td>Committed to 1.3.0,1.2.1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>WebHCat</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10992?src=confmacro">HIVE-10992</a> - WebHCat should not create delegation tokens when Kerberos is not enabled Resolved</td>
+<td>Committed 1.2.1,master,branch-1</td>
+<td>ekoifman</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10704?src=confmacro">HIVE-10704</a> - Errors in Tez HashTableLoader when estimated table size is 0 Resolved</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10711?src=confmacro">HIVE-10711</a> - Tez HashTableLoader attempts to allocate more memory than available when HIVECONVERTJOINNOCONDITIONALTASKTHRESHOLD exceeds process max mem Resolved</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>Query Planning</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10327?src=confmacro">HIVE-10327</a> - Remove ExprNodeNullDesc Closed</td>
+<td>committed</td>
+<td>ashutoshc</td>
+</tr>
+<tr>
+<td>Query Planning</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10636?src=confmacro">HIVE-10636</a> - CASE comparison operator rotation optimization Closed</td>
+<td>committed</td>
+<td>ashutoshc</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10606?src=confmacro">HIVE-10606</a> - Divide by zero error in HybridHashTableContainer Resolved</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>SerDe</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10679?src=confmacro">HIVE-10679</a> - JsonSerde ignores varchar and char size limit specified during table creation Resolved</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>Export/Import</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10727?src=confmacro">HIVE-10727</a> - Import throws error message “org.apache.thrift.protocol.TProtocolException: Required field ‘filesAdded’ is unset!” Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>HS2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10528?src=confmacro">HIVE-10528</a> - Hiveserver2 in HTTP mode is not applying auth_to_local rules Resolved</td>
+<td>committed</td>
+<td>vgumashta</td>
+</tr>
+<tr>
+<td>Query Planning</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10627?src=confmacro">HIVE-10627</a> - Queries fail with Failed to breakup Windowing invocations into Groups Resolved</td>
+<td>committed</td>
+<td>jpullokk</td>
+</tr>
+<tr>
+<td>Query Planning</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10686?src=confmacro">HIVE-10686</a> - java.lang.IndexOutOfBoundsException for query with rank() over(partition …) Resolved</td>
+<td>committed</td>
+<td>jpullokk</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10724?src=confmacro">HIVE-10724</a> - WebHCat e2e test TestStreaming_5 fails on Windows Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>WebHCat</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10760?src=confmacro">HIVE-10760</a> - Templeton: HCatalog Get Column for Non-existent column returns Server Error (500) rather than Not Found(404) Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10829?src=confmacro">HIVE-10829</a> - ATS hook fails for explainTask Resolved</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>HiveServer2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9842?src=confmacro">HIVE-9842</a> - Enable session/operation timeout by default in HiveServer2 Resolved</td>
+<td>committed</td>
+<td>vgumashta</td>
+</tr>
+<tr>
+<td>ATS</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10829?src=confmacro">HIVE-10829</a> - ATS hook fails for explainTask Resolved</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>Stats</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10840?src=confmacro">HIVE-10840</a> - NumberFormatException while running analyze table partition compute statics query Resolved</td>
+<td></td>
<td></td>
+</tr>
+<tr>
+<td>committed</td>
+<td>hagleitn</td>
<td></td>
<td></td>
</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10839?src=confmacro">HIVE-10839</a> - TestHCatLoaderEncryption.* tests fail in windows because of path related issues Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Beeline</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10753?src=confmacro">HIVE-10753</a> - hs2 jdbc url - wrong connection string cause error on beeline/jdbc/odbc client, misleading message Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Test Framework</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10768?src=confmacro">HIVE-10768</a> - In QTestGenTask.execute() we should not throw an exception right away if we are unable to clean any old files Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10801?src=confmacro">HIVE-10801</a> - ‘drop view’ fails throwing java.lang.NullPointerException Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10678?src=confmacro">HIVE-10678</a> - update sql standard authorization configuration whitelist - more optimization flags Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10843?src=confmacro">HIVE-10843</a> - desc database and show tables commands don’t pass db to HiveAuthorizer check Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10689?src=confmacro">HIVE-10689</a> - HS2 metadata api calls should use HiveAuthorizer interface for authorization Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Vectorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10244?src=confmacro">HIVE-10244</a> - Vectorization : TPC-DS Q80 fails with java.lang.ClassCastException when hive.vectorized.execution.reduce.enabled is enabled Resolved</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>Test</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10862?src=confmacro">HIVE-10862</a> - TestHiveAuthorizerShowFilters tests fail when run in sequence Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9828?src=confmacro">HIVE-9828</a> - Semantic analyzer does not capture view parent entity for tables referred in view with union all Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10875?src=confmacro">HIVE-10875</a> - Select query with view in subquery adds underlying table as direct input Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10892?src=confmacro">HIVE-10892</a> - TestHCatClient should not accept external metastore param from -Dhive.metastore.uris Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10919?src=confmacro">HIVE-10919</a> - Windows: create table with JsonSerDe failed via beeline unless you add hcatalog core jar to classpath Closed</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10887?src=confmacro">HIVE-10887</a> - TestCliDriver tests ordering issues with Mac and CentOS Closed</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10705?src=confmacro">HIVE-10705</a> - Update tests for HIVE-9302 after removing binaries Closed</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10925?src=confmacro">HIVE-10925</a> - Non-static threadlocals in metastore code can potentially cause memory leak Resolved</td>
+<td>committed</td>
+<td>vgumashta</td>
+</tr>
+<tr>
+<td>Hiveserver2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10922?src=confmacro">HIVE-10922</a> - In HS2 doAs=false mode, file system related errors in one query causes other failures Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10877?src=confmacro">HIVE-10877</a> - TestUtil class name confuses ptest2 Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Tez/HiveServer2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10736?src=confmacro">HIVE-10736</a> - HiveServer2 shutdown of cached tez app-masters is not clean Closed</td>
+<td>committed</td>
+<td>Vikram</td>
+</tr>
+<tr>
+<td>UDF/HiveServer2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10453?src=confmacro">HIVE-10453</a> - HS2 leaking open file descriptors when using UDFs Closed</td>
+<td>committed</td>
+<td>vgumashta</td>
+</tr>
+<tr>
+<td>Tez</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10929?src=confmacro">HIVE-10929</a> - In Tez mode,dynamic partitioning query with union all fails at moveTask,Invalid partition key & values Closed</td>
+<td>committed</td>
+<td>vgumashta</td>
+</tr>
+<tr>
+<td>Accumulo</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10857?src=confmacro">HIVE-10857</a> - Accumulo storage handler fail throwing java.lang.IllegalArgumentException: Cannot determine SASL mechanism for token class: class org.apache.accumulo.core.client.security.tokens.PasswordToken Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>QueryPlan</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10957?src=confmacro">HIVE-10957</a> - QueryPlan’s start time is incorrect in certain cases Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10967?src=confmacro">HIVE-10967</a> - add mapreduce.job.tags to sql std authorization config whitelist Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>encryption</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10910?src=confmacro">HIVE-10910</a> - Alter table drop partition queries in encrypted zone failing to remove data from HDFS Resolved</td>
+<td>committed</td>
+<td>eugene/thejas</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10949?src=confmacro">HIVE-10949</a> - Disable hive-minikdc tests in Windows Closed</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Hiveserver2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10968?src=confmacro">HIVE-10968</a> - Windows: analyze json table via beeline failed throwing Class org.apache.hive.hcatalog.data.JsonSerDe not found Closed</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Query Planning</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10874?src=confmacro">HIVE-10874</a> - Fail in TestMinimrCliDriver.testCliDriver_ql_rewrite_gbtoidx_cbo_2.q due to duplicate column name Resolved</td>
+<td>committed</td>
+<td>jpullokk</td>
+</tr>
+<tr>
+<td>Query Planning</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10811?src=confmacro">HIVE-10811</a> - RelFieldTrimmer throws NoSuchElementException in some cases Resolved</td>
+<td>committed</td>
+<td>jpullokk</td>
+</tr>
+<tr>
+<td>HS2 HTTP mode</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11001?src=confmacro">HIVE-11001</a> - HS2 http cookie mode does not honor doAs url parameter Resolved</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>ORC</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10685?src=confmacro">HIVE-10685</a> - Alter table concatenate oparetor will cause duplicate data Resolved</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>Release</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10684?src=confmacro">HIVE-10684</a> - Fix the unit test failures for HIVE-7553 after HIVE-10674 removed the binary jar files Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11023?src=confmacro">HIVE-11023</a> - Disable directSQL if datanucleus.identifierFactory = datanucleus2 Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Release</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10674?src=confmacro">HIVE-10674</a> - jars should not be checked in to the source control repo Resolved</td>
+<td>resolved</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Release</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11047?src=confmacro">HIVE-11047</a> - Update versions of branch-1.2 to 1.2.1 Resolved</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11041?src=confmacro">HIVE-11041</a> - Update tests for HIVE-9302 after removing binaries Resolved</td>
+<td>committed</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Tez</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10746?src=confmacro">HIVE-10746</a> - Hive 1.2.0+Tez produces 1-byte FileSplits from mapred.TextInputFormat Closed</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>Tests</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11050?src=confmacro">HIVE-11050</a> - testCliDriver_vector_outer_join.* failures in Unit tests due to unstable data creation queries Resolved</td>
+<td>committed</td>
+<td>mmccline</td>
+</tr>
+<tr>
+<td>Test</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11066?src=confmacro">HIVE-11066</a> - Ensure tests don’t share directories on FS Resolved</td>
+<td>committed</td>
+<td>ekoifman</td>
+</tr>
</tbody>
</table>
-<ul>
-<li></li>
-<li></li>
-<li></li>
-</ul>
-<h2 id=hive-10563httpsissuesapacheorgjirabrowsehive-10563srcconfmacro><a href="https://issues.apache.org/jira/browse/HIVE-10563?src=confmacro">HIVE-10563</a></h2>
-<p>MiniTezCliDriver tests ordering issues
-Resolved</p>
-<h2 id=hive-10107httpsissuesapacheorgjirabrowsehive-10107srcconfmacro>| committed | hsubramaniyan |
-| Optimizer |
-<a href="https://issues.apache.org/jira/browse/HIVE-10107?src=confmacro">HIVE-10107</a></h2>
-<h2 id=hive-10675httpsissuesapacheorgjirabrowsehive-10675srcconfmacro>Union All : Vertex missing stats resulting in OOM and in-efficient plans
-Resolved
-| committed | mmokhtar |
-| Build |
-<a href="https://issues.apache.org/jira/browse/HIVE-10675?src=confmacro">HIVE-10675</a></h2>
-<h2 id=hive-10659httpsissuesapacheorgjirabrowsehive-10659srcconfmacro>Provide option to skip Accumulo related Hive tests in itests directory
-Resolved
-| committed | hsubramaniyan |
-| Schematool |
-<a href="https://issues.apache.org/jira/browse/HIVE-10659?src=confmacro">HIVE-10659</a></h2>
-<h2 id=hive-10664httpsissuesapacheorgjirabrowsehive-10664srcconfmacro>Beeline command which contains semi-colon as a non-command terminator will fail
-Resolved
-| committed | hsubramaniyan |
-| Unit Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10664?src=confmacro">HIVE-10664</a></h2>
-<h2 id=hive-10690httpsissuesapacheorgjirabrowsehive-10690srcconfmacro>Unit tests run fail in windows because of illegal escape character in file path
-Resolved
-| committed | hsubramaniyan |
-| Metastore |
-<a href="https://issues.apache.org/jira/browse/HIVE-10690?src=confmacro">HIVE-10690</a></h2>
-<h2 id=hive-10672httpsissuesapacheorgjirabrowsehive-10672srcconfmacro>ArrayIndexOutOfBounds exception in MetaStoreDirectSql.aggrColStatsForPartitions()
-Resolved
-| committed | vgumashta |
-| SerDe |
-<a href="https://issues.apache.org/jira/browse/HIVE-10672?src=confmacro">HIVE-10672</a></h2>
-<h2 id=hive-10696httpsissuesapacheorgjirabrowsehive-10696srcconfmacro>Analyze command on a table using row format serde JsonSerDe fails with NoClassDefFoundError
-Resolved
-| committed | jdere |
-| UnitTests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10696?src=confmacro">HIVE-10696</a></h2>
-<h2 id=hive-11006httpsissuesapacheorgjirabrowsehive-11006srcconfmacro>TestAddResource tests are non-portable
-Resolved
-| committed | hsubramaniyan |
-| ACID |
-<a href="https://issues.apache.org/jira/browse/HIVE-11006?src=confmacro">HIVE-11006</a></h2>
-<h2 id=hive-10776httpsissuesapacheorgjirabrowsehive-10776srcconfmacro>improve logging wrt ACID module
-Closed
-| Committed to master, branch-1.2,branch-1 | ekoifman |
-| SQL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10776?src=confmacro">HIVE-10776</a></h2>
-<h2 id=hive-10828httpsissuesapacheorgjirabrowsehive-10828srcconfmacro>Schema on insert for bucketed tables throwing NullPointerException
-Resolved
-| Committed to 1.3.0,1.2.1 | ekoifman |
-| SQL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10828?src=confmacro">HIVE-10828</a></h2>
-<h2 id=hive-10934httpsissuesapacheorgjirabrowsehive-10934srcconfmacro>Insert with schema and dynamic partitions NullPointerException
-Resolved
-| Committed to 1.3.0,1.2.1 | ekoifman |
-| SQL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10934?src=confmacro">HIVE-10934</a></h2>
-<h2 id=hive-10910httpsissuesapacheorgjirabrowsehive-10910srcconfmacro>Restore support for DROP PARTITION PURGE
-Resolved
-| Committed | ekoifman |
-| Hive with TDE |
-<a href="https://issues.apache.org/jira/browse/HIVE-10910?src=confmacro">HIVE-10910</a></h2>
-<h2 id=hive-10630httpsissuesapacheorgjirabrowsehive-10630srcconfmacro>Alter table drop partition queries in encrypted zone failing to remove data from HDFS
-Resolved
-| Committed | ekoifman |
-| Hive with TDE |
-<a href="https://issues.apache.org/jira/browse/HIVE-10630?src=confmacro">HIVE-10630</a></h2>
-<h2 id=hive-10629httpsissuesapacheorgjirabrowsehive-10629srcconfmacro>Renaming tables across encryption zones renames table even though the operation throws error
-Resolved
-| Committed to 1.3.0,1.2.1 | ekoifman |
-| Hive with TDE |
-<a href="https://issues.apache.org/jira/browse/HIVE-10629?src=confmacro">HIVE-10629</a></h2>
-<h2 id=hive-10658httpsissuesapacheorgjirabrowsehive-10658srcconfmacro>Dropping table in an encrypted zone does not drop warehouse directory
-Resolved
-| Committed to 1.3.0,1.2.1 | ekoifman |
-| Hive with TDE |
-<a href="https://issues.apache.org/jira/browse/HIVE-10658?src=confmacro">HIVE-10658</a></h2>
-<h2 id=hive-10747httpsissuesapacheorgjirabrowsehive-10747srcconfmacro>Insert with values clause may expose data that should be encrypted
-Resolved
-| Committed to 1.3.0,1.2.1 | ekoifman |
-| Hive with TDE |
-<a href="https://issues.apache.org/jira/browse/HIVE-10747?src=confmacro">HIVE-10747</a></h2>
-<h2 id=hive-10858httpsissuesapacheorgjirabrowsehive-10858srcconfmacro>Enable the cleanup of side effect for the Encryption related qfile test
-Resolved
-| Committed to 1.3.0,1.2.1 | fred |
-| WebHCat |
-<a href="https://issues.apache.org/jira/browse/HIVE-10858?src=confmacro">HIVE-10858</a></h2>
-<h2 id=hive-10605httpsissuesapacheorgjirabrowsehive-10605srcconfmacro>WebHCat specific resources should be added to HADOOP_CLASSPATH first
-Resolved
-| Committed to 1.3.0,1.2.1 | ekoifman |
-| WebHCat |
-<a href="https://issues.apache.org/jira/browse/HIVE-10605?src=confmacro">HIVE-10605</a></h2>
-<h2 id=hive-10992httpsissuesapacheorgjirabrowsehive-10992srcconfmacro>Make hive version number update automatically in webhcat-default.xml during hive tar generation
-Resolved
-| Committed to 1.3.0,1.2.1 | ekoifman |
-| WebHCat |
-<a href="https://issues.apache.org/jira/browse/HIVE-10992?src=confmacro">HIVE-10992</a></h2>
-<h2 id=hive-10704httpsissuesapacheorgjirabrowsehive-10704srcconfmacro>WebHCat should not create delegation tokens when Kerberos is not enabled
-Resolved
-| Committed 1.2.1,master,branch-1 | ekoifman |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10704?src=confmacro">HIVE-10704</a></h2>
-<h2 id=hive-10711httpsissuesapacheorgjirabrowsehive-10711srcconfmacro>Errors in Tez HashTableLoader when estimated table size is 0
-Resolved
-| committed | jdere |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10711?src=confmacro">HIVE-10711</a></h2>
-<h2 id=hive-10327httpsissuesapacheorgjirabrowsehive-10327srcconfmacro>Tez HashTableLoader attempts to allocate more memory than available when HIVECONVERTJOINNOCONDITIONALTASKTHRESHOLD exceeds process max mem
-Resolved
-| committed | jdere |
-| Query Planning |
-<a href="https://issues.apache.org/jira/browse/HIVE-10327?src=confmacro">HIVE-10327</a></h2>
-<h2 id=hive-10636httpsissuesapacheorgjirabrowsehive-10636srcconfmacro>Remove ExprNodeNullDesc
-Closed
-| committed | ashutoshc |
-| Query Planning |
-<a href="https://issues.apache.org/jira/browse/HIVE-10636?src=confmacro">HIVE-10636</a></h2>
-<h2 id=hive-10606httpsissuesapacheorgjirabrowsehive-10606srcconfmacro>CASE comparison operator rotation optimization
-Closed
-| committed | ashutoshc |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10606?src=confmacro">HIVE-10606</a></h2>
-<h2 id=hive-10679httpsissuesapacheorgjirabrowsehive-10679srcconfmacro>Divide by zero error in HybridHashTableContainer
-Resolved
-| committed | jdere |
-| SerDe |
-<a href="https://issues.apache.org/jira/browse/HIVE-10679?src=confmacro">HIVE-10679</a></h2>
-<h2 id=hive-10727httpsissuesapacheorgjirabrowsehive-10727srcconfmacro>JsonSerde ignores varchar and char size limit specified during table creation
-Resolved
-| committed | jdere |
-| Export/Import |
-<a href="https://issues.apache.org/jira/browse/HIVE-10727?src=confmacro">HIVE-10727</a></h2>
-<h2 id=hive-10528httpsissuesapacheorgjirabrowsehive-10528srcconfmacro>Import throws error message “org.apache.thrift.protocol.TProtocolException: Required field ‘filesAdded’ is unset!”
-Resolved
-| committed | sushanth |
-| HS2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-10528?src=confmacro">HIVE-10528</a></h2>
-<p>Hiveserver2 in HTTP mode is not applying auth_to_local rules
-Resolved
-| committed | vgumashta |
-| Query Planning |</p>
-<h2 id=hive-10627httpsissuesapacheorgjirabrowsehive-10627srcconfmacro><a href="https://issues.apache.org/jira/browse/HIVE-10627?src=confmacro">HIVE-10627</a></h2>
-<p>Queries fail with Failed to breakup Windowing invocations into Groups
-Resolved</p>
-<h2 id=hive-10686httpsissuesapacheorgjirabrowsehive-10686srcconfmacro>| committed | jpullokk |
-| Query Planning |
-<a href="https://issues.apache.org/jira/browse/HIVE-10686?src=confmacro">HIVE-10686</a></h2>
-<h2 id=hive-10724httpsissuesapacheorgjirabrowsehive-10724srcconfmacro>java.lang.IndexOutOfBoundsException for query with rank() over(partition …)
-Resolved
-| committed | jpullokk |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10724?src=confmacro">HIVE-10724</a></h2>
-<h2 id=hive-10760httpsissuesapacheorgjirabrowsehive-10760srcconfmacro>WebHCat e2e test TestStreaming_5 fails on Windows
-Resolved
-| committed | sushanth |
-| WebHCat |
-<a href="https://issues.apache.org/jira/browse/HIVE-10760?src=confmacro">HIVE-10760</a></h2>
-<h2 id=hive-10829httpsissuesapacheorgjirabrowsehive-10829srcconfmacro>Templeton: HCatalog Get Column for Non-existent column returns Server Error (500) rather than Not Found(404)
-Resolved
-| committed | sushanth |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10829?src=confmacro">HIVE-10829</a></h2>
-<h2 id=hive-9842httpsissuesapacheorgjirabrowsehive-9842srcconfmacro>ATS hook fails for explainTask
-Resolved
-| committed | hagleitn |
-| HiveServer2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-9842?src=confmacro">HIVE-9842</a></h2>
-<h2 id=hive-10829httpsissuesapacheorgjirabrowsehive-10829srcconfmacro-1>Enable session/operation timeout by default in HiveServer2
-Resolved
-| committed | vgumashta |
-| ATS |
-<a href="https://issues.apache.org/jira/browse/HIVE-10829?src=confmacro">HIVE-10829</a></h2>
-<h2 id=hive-10840httpsissuesapacheorgjirabrowsehive-10840srcconfmacro>ATS hook fails for explainTask
-Resolved
-| committed | hagleitn |
-| Stats |
-<a href="https://issues.apache.org/jira/browse/HIVE-10840?src=confmacro">HIVE-10840</a></h2>
-<h2 id=hive-10839httpsissuesapacheorgjirabrowsehive-10839srcconfmacro>NumberFormatException while running analyze table partition compute statics query
-Resolved
-| committed | hagleitn |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10839?src=confmacro">HIVE-10839</a></h2>
-<h2 id=hive-10753httpsissuesapacheorgjirabrowsehive-10753srcconfmacro>TestHCatLoaderEncryption.* tests fail in windows because of path related issues
-Resolved
-| committed | hsubramaniyan |
-| Beeline |
-<a href="https://issues.apache.org/jira/browse/HIVE-10753?src=confmacro">HIVE-10753</a></h2>
-<h2 id=hive-10768httpsissuesapacheorgjirabrowsehive-10768srcconfmacro>hs2 jdbc url - wrong connection string cause error on beeline/jdbc/odbc client, misleading message
-Resolved
-| committed | hsubramaniyan |
-| Test Framework |
-<a href="https://issues.apache.org/jira/browse/HIVE-10768?src=confmacro">HIVE-10768</a></h2>
-<h2 id=hive-10801httpsissuesapacheorgjirabrowsehive-10801srcconfmacro>In QTestGenTask.execute() we should not throw an exception right away if we are unable to clean any old files
-Resolved
-| committed | hsubramaniyan |
-| Metastore |
-<a href="https://issues.apache.org/jira/browse/HIVE-10801?src=confmacro">HIVE-10801</a></h2>
-<h2 id=hive-10678httpsissuesapacheorgjirabrowsehive-10678srcconfmacro>‘drop view’ fails throwing java.lang.NullPointerException
-Resolved
-| committed | hsubramaniyan |
-| Authorization |
-<a href="https://issues.apache.org/jira/browse/HIVE-10678?src=confmacro">HIVE-10678</a></h2>
-<h2 id=hive-10843httpsissuesapacheorgjirabrowsehive-10843srcconfmacro>update sql standard authorization configuration whitelist - more optimization flags
-Resolved
-| committed | thejas |
-| Authorization |
-<a href="https://issues.apache.org/jira/browse/HIVE-10843?src=confmacro">HIVE-10843</a></h2>
-<h2 id=hive-10689httpsissuesapacheorgjirabrowsehive-10689srcconfmacro>desc database and show tables commands don’t pass db to HiveAuthorizer check
-Resolved
-| committed | thejas |
-| Authorization |
-<a href="https://issues.apache.org/jira/browse/HIVE-10689?src=confmacro">HIVE-10689</a></h2>
-<h2 id=hive-10244httpsissuesapacheorgjirabrowsehive-10244srcconfmacro>HS2 metadata api calls should use HiveAuthorizer interface for authorization
-Resolved
-| committed | thejas |
-| Vectorization |
-<a href="https://issues.apache.org/jira/browse/HIVE-10244?src=confmacro">HIVE-10244</a></h2>
-<h2 id=hive-10862httpsissuesapacheorgjirabrowsehive-10862srcconfmacro>Vectorization : TPC-DS Q80 fails with java.lang.ClassCastException when hive.vectorized.execution.reduce.enabled is enabled
-Resolved
-| committed | hagleitn |
-| Test |
-<a href="https://issues.apache.org/jira/browse/HIVE-10862?src=confmacro">HIVE-10862</a></h2>
-<h2 id=hive-9828httpsissuesapacheorgjirabrowsehive-9828srcconfmacro>TestHiveAuthorizerShowFilters tests fail when run in sequence
-Resolved
-| committed | thejas |
-| Authorization |
-<a href="https://issues.apache.org/jira/browse/HIVE-9828?src=confmacro">HIVE-9828</a></h2>
-<h2 id=hive-10875httpsissuesapacheorgjirabrowsehive-10875srcconfmacro>Semantic analyzer does not capture view parent entity for tables referred in view with union all
-Resolved
-| committed | thejas |
-| Authorization |
-<a href="https://issues.apache.org/jira/browse/HIVE-10875?src=confmacro">HIVE-10875</a></h2>
-<h2 id=hive-10892httpsissuesapacheorgjirabrowsehive-10892srcconfmacro>Select query with view in subquery adds underlying table as direct input
-Resolved
-| committed | thejas |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10892?src=confmacro">HIVE-10892</a></h2>
-<h2 id=hive-10919httpsissuesapacheorgjirabrowsehive-10919srcconfmacro>TestHCatClient should not accept external metastore param from -Dhive.metastore.uris
-Resolved
-| committed | sushanth |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10919?src=confmacro">HIVE-10919</a></h2>
-<h2 id=hive-10887httpsissuesapacheorgjirabrowsehive-10887srcconfmacro>Windows: create table with JsonSerDe failed via beeline unless you add hcatalog core jar to classpath
-Closed
-| committed | hsubramaniyan |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10887?src=confmacro">HIVE-10887</a></h2>
-<h2 id=hive-10705httpsissuesapacheorgjirabrowsehive-10705srcconfmacro>TestCliDriver tests ordering issues with Mac and CentOS
-Closed
-| committed | hsubramaniyan |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10705?src=confmacro">HIVE-10705</a></h2>
-<h2 id=hive-10925httpsissuesapacheorgjirabrowsehive-10925srcconfmacro>Update tests for HIVE-9302 after removing binaries
-Closed
-| committed | hsubramaniyan |
-| Metastore |
-<a href="https://issues.apache.org/jira/browse/HIVE-10925?src=confmacro">HIVE-10925</a></h2>
-<h2 id=hive-10922httpsissuesapacheorgjirabrowsehive-10922srcconfmacro>Non-static threadlocals in metastore code can potentially cause memory leak
-Resolved
-| committed | vgumashta |
-| Hiveserver2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-10922?src=confmacro">HIVE-10922</a></h2>
-<h2 id=hive-10877httpsissuesapacheorgjirabrowsehive-10877srcconfmacro>In HS2 doAs=false mode, file system related errors in one query causes other failures
-Resolved
-| committed | thejas |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10877?src=confmacro">HIVE-10877</a></h2>
-<h2 id=hive-10736httpsissuesapacheorgjirabrowsehive-10736srcconfmacro>TestUtil class name confuses ptest2
-Resolved
-| committed | hsubramaniyan |
-| Tez/HiveServer2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-10736?src=confmacro">HIVE-10736</a></h2>
-<h2 id=hive-10453httpsissuesapacheorgjirabrowsehive-10453srcconfmacro>HiveServer2 shutdown of cached tez app-masters is not clean
-Closed
-| committed | Vikram |
-| UDF/HiveServer2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-10453?src=confmacro">HIVE-10453</a></h2>
-<h2 id=hive-10929httpsissuesapacheorgjirabrowsehive-10929srcconfmacro>HS2 leaking open file descriptors when using UDFs
-Closed
-| committed | vgumashta |
-| Tez |
-<a href="https://issues.apache.org/jira/browse/HIVE-10929?src=confmacro">HIVE-10929</a></h2>
-<h2 id=hive-10857httpsissuesapacheorgjirabrowsehive-10857srcconfmacro>In Tez mode,dynamic partitioning query with union all fails at moveTask,Invalid partition key & values
-Closed
-| committed | vgumashta |
-| Accumulo |
-<a href="https://issues.apache.org/jira/browse/HIVE-10857?src=confmacro">HIVE-10857</a></h2>
-<h2 id=hive-10957httpsissuesapacheorgjirabrowsehive-10957srcconfmacro>Accumulo storage handler fail throwing java.lang.IllegalArgumentException: Cannot determine SASL mechanism for token class: class org.apache.accumulo.core.client.security.tokens.PasswordToken
-Resolved
-| committed | sushanth |
-| QueryPlan |
-<a href="https://issues.apache.org/jira/browse/HIVE-10957?src=confmacro">HIVE-10957</a></h2>
-<h2 id=hive-10967httpsissuesapacheorgjirabrowsehive-10967srcconfmacro>QueryPlan’s start time is incorrect in certain cases
-Resolved
-| committed | thejas |
-| Authorization |
-<a href="https://issues.apache.org/jira/browse/HIVE-10967?src=confmacro">HIVE-10967</a></h2>
-<h2 id=hive-10910httpsissuesapacheorgjirabrowsehive-10910srcconfmacro-1>add mapreduce.job.tags to sql std authorization config whitelist
-Resolved
-| committed | thejas |
-| encryption |
-<a href="https://issues.apache.org/jira/browse/HIVE-10910?src=confmacro">HIVE-10910</a></h2>
-<h2 id=hive-10949httpsissuesapacheorgjirabrowsehive-10949srcconfmacro>Alter table drop partition queries in encrypted zone failing to remove data from HDFS
-Resolved
-| committed | eugene/thejas |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-10949?src=confmacro">HIVE-10949</a></h2>
-<h2 id=hive-10968httpsissuesapacheorgjirabrowsehive-10968srcconfmacro>Disable hive-minikdc tests in Windows
-Closed
-| committed | hsubramaniyan |
-| Hiveserver2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-10968?src=confmacro">HIVE-10968</a></h2>
-<h2 id=hive-10874httpsissuesapacheorgjirabrowsehive-10874srcconfmacro>Windows: analyze json table via beeline failed throwing Class org.apache.hive.hcatalog.data.JsonSerDe not found
-Closed
-| committed | hsubramaniyan |
-| Query Planning |
-<a href="https://issues.apache.org/jira/browse/HIVE-10874?src=confmacro">HIVE-10874</a></h2>
-<p>Fail in TestMinimrCliDriver.testCliDriver_ql_rewrite_gbtoidx_cbo_2.q due to duplicate column name
-Resolved
-| committed | jpullokk |
-| Query Planning |</p>
-<h2 id=hive-10811httpsissuesapacheorgjirabrowsehive-10811srcconfmacro><a href="https://issues.apache.org/jira/browse/HIVE-10811?src=confmacro">HIVE-10811</a></h2>
-<p>RelFieldTrimmer throws NoSuchElementException in some cases
-Resolved</p>
-<h2 id=hive-11001httpsissuesapacheorgjirabrowsehive-11001srcconfmacro>| committed | jpullokk |
-| HS2 HTTP mode |
-<a href="https://issues.apache.org/jira/browse/HIVE-11001?src=confmacro">HIVE-11001</a></h2>
-<h2 id=hive-10685httpsissuesapacheorgjirabrowsehive-10685srcconfmacro>HS2 http cookie mode does not honor doAs url parameter
-Resolved
-| committed | thejas |
-| ORC |
-<a href="https://issues.apache.org/jira/browse/HIVE-10685?src=confmacro">HIVE-10685</a></h2>
-<h2 id=hive-10684httpsissuesapacheorgjirabrowsehive-10684srcconfmacro>Alter table concatenate oparetor will cause duplicate data
-Resolved
-| committed | prasanthj |
-| Release |
-<a href="https://issues.apache.org/jira/browse/HIVE-10684?src=confmacro">HIVE-10684</a></h2>
-<h2 id=hive-11023httpsissuesapacheorgjirabrowsehive-11023srcconfmacro>Fix the unit test failures for HIVE-7553 after HIVE-10674 removed the binary jar files
-Resolved
-| committed | sushanth |
-| Metastore |
-<a href="https://issues.apache.org/jira/browse/HIVE-11023?src=confmacro">HIVE-11023</a></h2>
-<h2 id=hive-10674httpsissuesapacheorgjirabrowsehive-10674srcconfmacro>Disable directSQL if datanucleus.identifierFactory = datanucleus2
-Resolved
-| committed | sushanth |
-| Release |
-<a href="https://issues.apache.org/jira/browse/HIVE-10674?src=confmacro">HIVE-10674</a></h2>
-<h2 id=hive-11047httpsissuesapacheorgjirabrowsehive-11047srcconfmacro>jars should not be checked in to the source control repo
-Resolved
-| resolved | sushanth |
-| Release |
-<a href="https://issues.apache.org/jira/browse/HIVE-11047?src=confmacro">HIVE-11047</a></h2>
-<h2 id=hive-11041httpsissuesapacheorgjirabrowsehive-11041srcconfmacro>Update versions of branch-1.2 to 1.2.1
-Resolved
-| committed | sushanth |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-11041?src=confmacro">HIVE-11041</a></h2>
-<h2 id=hive-10746httpsissuesapacheorgjirabrowsehive-10746srcconfmacro>Update tests for HIVE-9302 after removing binaries
-Resolved
-| committed | hsubramaniyan |
-| Tez |
-<a href="https://issues.apache.org/jira/browse/HIVE-10746?src=confmacro">HIVE-10746</a></h2>
-<h2 id=hive-11050httpsissuesapacheorgjirabrowsehive-11050srcconfmacro>Hive 1.2.0+Tez produces 1-byte FileSplits from mapred.TextInputFormat
-Closed
-| committed | hagleitn |
-| Tests |
-<a href="https://issues.apache.org/jira/browse/HIVE-11050?src=confmacro">HIVE-11050</a></h2>
-<h2 id=hive-11066httpsissuesapacheorgjirabrowsehive-11066srcconfmacro>testCliDriver_vector_outer_join.* failures in Unit tests due to unstable data creation queries
-Resolved
-| committed | mmccline |
-| Test |
-<a href="https://issues.apache.org/jira/browse/HIVE-11066?src=confmacro">HIVE-11066</a></h2>
-<p>Ensure tests don’t share directories on FS
-Resolved
-| committed | ekoifman |
-| | | | |
-| | | | |
-| | | | |</p>
-<p> </p>
-<p> </p>
</div>
</div>
<footer class="black-background static-bottom" style=padding:30px>
diff --git a/docs/latest/committed-jiras-for-branch-1-2-0_56068523/index.html b/docs/latest/committed-jiras-for-branch-1-2-0_56068523/index.html
index c9ef497..cad4395 100644
--- a/docs/latest/committed-jiras-for-branch-1-2-0_56068523/index.html
+++ b/docs/latest/committed-jiras-for-branch-1-2-0_56068523/index.html
@@ -268,24 +268,24 @@ ASF
<tbody>
<tr>
<td>Vectorization</td>
-<td></td>
-<td></td>
-<td></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10609?src=confmacro">HIVE-10609</a> - Vectorization : Q64 fails with ClassCastException Closed</td>
+<td>committed</td>
+<td>vikram.dixit</td>
</tr>
<tr>
-<td><a href="https://issues.apache.org/jira/browse/HIVE-10609?src=confmacro">HIVE-10609</a></td>
-<td></td>
-<td></td>
-<td></td>
+<td>Optimizer</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10568?src=confmacro">HIVE-10568</a> Select count(distinct()) can have more optimal execution plan Closed</td>
+<td>committed</td>
+<td>hashutosh</td>
+</tr>
+<tr>
+<td>orc</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10591?src=confmacro">HIVE-10591</a> Support limited integer type promotion in ORC Closed</td>
+<td>committed</td>
+<td>prasanth_j</td>
</tr>
</tbody>
</table>
-<ul>
-<li></li>
-<li></li>
-<li></li>
-</ul>
-<p> </p>
<p> </p>
<p> </p>
<h1 id=jiras-requested-to-be-included-in-12-release-after-rc0-preparation-begins-list-now-closed>JIRAS requested to be included in 1.2 release after RC0 preparation begins (list now closed)</h1>
@@ -305,80 +305,204 @@ ASF
<tbody>
<tr>
<td>Testing Infrastructure</td>
-<td></td>
-<td></td>
-<td></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10514?src=confmacro">HIVE-10514</a> - Fix MiniCliDriver tests failure Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10512?src=confmacro">HIVE-10512</a> - CBO (Calcite Return Path): SMBJoin conversion throws ClassCastException Closed</td>
+<td>committed</td>
+<td>ashutoshc</td>
+</tr>
+<tr>
+<td>Vectorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10450?src=confmacro">HIVE-10450</a> - More than one TableScan in MapWork not supported in Vectorization – causes query to fail during vectorization Closed</td>
+<td>committed</td>
+<td>mmccline</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10307?src=confmacro">HIVE-10307</a> - Support to use number literals in partition column Closed</td>
+<td>committed</td>
+<td>jxiang</td>
+</tr>
+<tr>
+<td>JDBC</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10499?src=confmacro">HIVE-10499</a> - Ensure Session/ZooKeeperClient instances are closed Closed</td>
+<td>committed</td>
+<td>jxiang</td>
+</tr>
+<tr>
+<td>hadoop-1</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10444?src=confmacro">HIVE-10444</a> - HIVE-10223 breaks hadoop-1 build Closed</td>
+<td>committed</td>
+<td>prasanth_j</td>
+</tr>
+<tr>
+<td>serde</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10437?src=confmacro">HIVE-10437</a> - NullPointerException on queries where map/reduce is not involved on tables with partitions Closed</td>
+<td>committed</td>
+<td>ashutoshc</td>
</tr>
<tr>
-<td><a href="https://issues.apache.org/jira/browse/HIVE-10514?src=confmacro">HIVE-10514</a></td>
-<td></td>
-<td></td>
-<td></td>
+<td>metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10507?src=confmacro">HIVE-10507</a> - Expose RetryingMetastoreClient to other external users of metastore client like Flume and Storm. Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>auth</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10572?src=confmacro">HIVE-10572</a> - Improve Hive service test to check empty string Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10071?src=confmacro">HIVE-10071</a> - CBO (Calcite Return Path): Join to MultiJoin rule Closed</td>
+<td>committed</td>
+<td>ashutosh</td>
+</tr>
+<tr>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10546?src=confmacro">HIVE-10546</a> - genFileSinkPlan should use the generated SEL’s RR for the partition col of FS Closed</td>
+<td>committed</td>
+<td>pxiong</td>
+</tr>
+<tr>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10549?src=confmacro">HIVE-10549</a> - CBO (Calcite Return Path): Enable NonBlockingOpDeDupProc Closed</td>
+<td>committed</td>
+<td>pxiong</td>
+</tr>
+<tr>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10455?src=confmacro">HIVE-10455</a> - CBO (Calcite Return Path): Different data types at Reducer before JoinOp Closed</td>
+<td>committed</td>
+<td>pxiong</td>
+</tr>
+<tr>
+<td>ORC</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10286?src=confmacro">HIVE-10286</a> - SARGs: Type Safety via PredicateLeaf.type Closed</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10456?src=confmacro">HIVE-10456</a> - Grace Hash Join should not load spilled partitions on abort Closed</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10543?src=confmacro">HIVE-10543</a> - improve error message in MetaStoreAuthzAPIAuthorizerEmbedOnly Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Tez</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10529?src=confmacro">HIVE-10529</a> - Remove references to tez task context before storing operator plan in object cache Closed</td>
+<td>committed</td>
+<td>hagleitn</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10520?src=confmacro">HIVE-10520</a> - LLAP: Must reset small table result columns for Native Vectorization of Map Join Closed</td>
+<td>committed</td>
+<td>mmccline</td>
+</tr>
+<tr>
+<td>jdbc</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10544?src=confmacro">HIVE-10544</a> - Beeline/Hive JDBC Driver fails in HTTP mode on Windows with java.lang.NoSuchFieldError: INSTANCE Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Transactions</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-8915?src=confmacro">HIVE-8915</a> - Log file explosion due to non-existence of COMPACTION_QUEUE table Closed</td>
+<td>committed</td>
+<td>alangates</td>
+</tr>
+<tr>
+<td>vectorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9908?src=confmacro">HIVE-9908</a> - vectorization error binary type not supported, group by with binary columns Closed</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9456?src=confmacro">HIVE-9456</a> - Make Hive support unicode with MSSQL as Metastore backend Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10446?src=confmacro">HIVE-10446</a> - Hybrid Hybrid Grace Hash Join : java.lang.IllegalArgumentException in Kryo while spilling big table Closed</td>
+<td>resolved</td>
+<td>wzheng</td>
+</tr>
+<tr>
+<td>HCatalog</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9582?src=confmacro">HIVE-9582</a> - HCatalog should use IMetaStoreClient interface Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>conf</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10539?src=confmacro">HIVE-10539</a> - set default value of hive.repl.task.factory Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Transactions</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10521?src=confmacro">HIVE-10521</a> - TxnHandler.timeOutTxns only times out some of the expired transactions Closed</td>
+<td>committed</td>
+<td>alangates</td>
+</tr>
+<tr>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10526?src=confmacro">HIVE-10526</a> - CBO (Calcite Return Path): HiveCost epsilon comparison should take row count in to account Closed</td>
+<td>committed</td>
+<td>hashutosh</td>
+</tr>
+<tr>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10506?src=confmacro">HIVE-10506</a> - CBO (Calcite Return Path): Disallow return path to be enable if CBO is off Closed</td>
+<td>committed</td>
+<td>jpullokkaran</td>
+</tr>
+<tr>
+<td>Tez</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10542?src=confmacro">HIVE-10542</a> - Full outer joins in tez produce incorrect results in certain cases Closed</td>
+<td>committed</td>
+<td>vikram.dixit</td>
+</tr>
+<tr>
+<td>HCatalog</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-8696?src=confmacro">HIVE-8696</a> - HCatClientHMSImpl doesn’t use a Retrying-HiveMetastoreClient. Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9743?src=confmacro">HIVE-9743</a> - Incorrect result set for vectorized left outer join Closed</td>
+<td>committed</td>
+<td>vikram.dixit</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10484?src=confmacro">HIVE-10484</a> - Vectorization : RuntimeException “Big Table Retained Mapping duplicate column” Closed</td>
+<td>committed</td>
+<td>vikram.dixit</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10530?src=confmacro">HIVE-10530</a> - Aggregate stats cache: bug fixes for RDBMS path Closed</td>
+<td>committed</td>
+<td>vgumashta</td>
</tr>
</tbody>
</table>
-<ul>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-</ul>
-<h2 id=hive-10526httpsissuesapacheorgjirabrowsehive-10526srcconfmacro><a href="https://issues.apache.org/jira/browse/HIVE-10526?src=confmacro">HIVE-10526</a></h2>
-<p>CBO (Calcite Return Path): HiveCost epsilon comparison should take row count in to account
-Closed</p>
-<p>| committed | hashutosh |
-| CBO |</p>
-<h2 id=hive-10506httpsissuesapacheorgjirabrowsehive-10506srcconfmacro><a href="https://issues.apache.org/jira/browse/HIVE-10506?src=confmacro">HIVE-10506</a></h2>
-<p>CBO (Calcite Return Path): Disallow return path to be enable if CBO is off
-Closed</p>
-<h2 id=hive-10542httpsissuesapacheorgjirabrowsehive-10542srcconfmacro>| committed | jpullokkaran |
-| Tez |
-<a href="https://issues.apache.org/jira/browse/HIVE-10542?src=confmacro">HIVE-10542</a></h2>
-<h2 id=hive-8696httpsissuesapacheorgjirabrowsehive-8696srcconfmacro>Full outer joins in tez produce incorrect results in certain cases
-Closed
-| committed | vikram.dixit |
-| HCatalog |
-<a href="https://issues.apache.org/jira/browse/HIVE-8696?src=confmacro">HIVE-8696</a></h2>
-<h2 id=hive-9743httpsissuesapacheorgjirabrowsehive-9743srcconfmacro>HCatClientHMSImpl doesn’t use a Retrying-HiveMetastoreClient.
-Closed
-| committed | sushanth |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-9743?src=confmacro">HIVE-9743</a></h2>
-<h2 id=hive-10484httpsissuesapacheorgjirabrowsehive-10484srcconfmacro>Incorrect result set for vectorized left outer join
-Closed
-| committed | vikram.dixit |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10484?src=confmacro">HIVE-10484</a></h2>
-<h2 id=hive-10530httpsissuesapacheorgjirabrowsehive-10530srcconfmacro>Vectorization : RuntimeException “Big Table Retained Mapping duplicate column”
-Closed
-| committed | vikram.dixit |
-| Metastore |
-<a href="https://issues.apache.org/jira/browse/HIVE-10530?src=confmacro">HIVE-10530</a></h2>
-<p>Aggregate stats cache: bug fixes for RDBMS path
-Closed
-| committed | vgumashta |</p>
<p> </p>
<p> </p>
<h1 id=jiras-requested-to-be-included-in-12-release-after-12-branch-creation-but-before-rc0-roll-outs-list-now-closed>JIRAS requested to be included in 1.2 release after 1.2 branch creation, but before RC0 roll outs (list now closed)</h1>
@@ -398,42 +522,120 @@ Closed
<tbody>
<tr>
<td>Transactions</td>
-<td></td>
-<td></td>
-<td></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10500?src=confmacro">HIVE-10500</a> - Repeated deadlocks in underlying RDBMS cause transaction or lock failure Closed</td>
+<td>committed</td>
+<td>alangates</td>
+</tr>
+<tr>
+<td>HBase Handler</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10490?src=confmacro">HIVE-10490</a> - HBase Snapshot IF fails at run time with missing dependency of MetricsRegistry Closed</td>
+<td>committed</td>
+<td>ashutoshc</td>
</tr>
<tr>
-<td><a href="https://issues.apache.org/jira/browse/HIVE-10500?src=confmacro">HIVE-10500</a></td>
-<td></td>
-<td></td>
-<td></td>
+<td>CBO</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10462?src=confmacro">HIVE-10462</a> - CBO (Calcite Return Path): MapJoin and SMBJoin conversion not triggered Closed</td>
+<td>committed</td>
+<td>ashutoshc</td>
+</tr>
+<tr>
+<td>Logical Optimizer</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10451?src=confmacro">HIVE-10451</a> - PTF deserializer fails if values are not used in reducer Closed</td>
+<td>committed</td>
+<td>ashutoshc</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10421?src=confmacro">HIVE-10421</a> - DROP TABLE with qualified table name ignores database name when checking partitions Closed</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>Logging</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10441?src=confmacro">HIVE-10441</a> - Fix confusing log statement in SessionState about hive.execution.engine setting Closed</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>hadoop-1</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10370?src=confmacro">HIVE-10370</a> - Hive does not compile with -Phadoop-1 option Closed</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>hadoop-1</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10431?src=confmacro">HIVE-10431</a> - HIVE-9555 broke hadoop-1 build Closed</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>hadoop-1</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10442?src=confmacro">HIVE-10442</a> - HIVE-10098 broke hadoop-1 build Closed</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>hadoop-1</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10443?src=confmacro">HIVE-10443</a> - HIVE-9870 broke hadoop-1 build Closed</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>serde</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10428?src=confmacro">HIVE-10428</a> - NPE in RegexSerDe using HCat Closed</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>jdbc</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10465?src=confmacro">HIVE-10465</a> - whitelist restrictions don’t get initialized in new copy of HiveConf Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10507?src=confmacro">HIVE-10507</a> - Expose RetryingMetastoreClient to other external users of metastore client like Flume and Storm. Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Tez/MR configs</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10508?src=confmacro">HIVE-10508</a> - Strip out password information from config passed to Tez/MR in cases where password encryption is not used Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10456?src=confmacro">HIVE-10456</a> - Grace Hash Join should not load spilled partitions on abort Closed</td>
+<td>committed</td>
+<td>prasanthj</td>
+</tr>
+<tr>
+<td>build & release</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10510?src=confmacro">HIVE-10510</a> - Change 1.2.0-SNAPSHOT to 1.2.0 in branch-1.2 Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10384?src=confmacro">HIVE-10384</a> - RetryingMetaStoreClient does not retry wrapped TTransportExceptions Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>HCatalog</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10517?src=confmacro">HIVE-10517</a> - HCatPartition should not be created with "" as location in tests Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9508?src=confmacro">HIVE-9508</a> - MetaStore client socket connection should have a lifetime Closed</td>
+<td>committed</td>
+<td>vgumashta</td>
</tr>
</tbody>
</table>
-<ul>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-</ul>
-<h2 id=hive-9508httpsissuesapacheorgjirabrowsehive-9508srcconfmacro><a href="https://issues.apache.org/jira/browse/HIVE-9508?src=confmacro">HIVE-9508</a></h2>
-<p>MetaStore client socket connection should have a lifetime
-Closed</p>
-<p>| committed | vgumashta |</p>
<h1 id=jiras-requested-to-be-included-in-12-release-before-12-branch-creation-list-now-closed>JIRAS requested to be included in 1.2 release before 1.2 branch creation (list now closed)</h1>
<p><strong>Requirement</strong> : General purpose feature jiras or bugfixes. </p>
<p><strong>Deadline for inclusion</strong> : <strong>00:01, Saturday, 25th Apr 2015 PDT</strong></p>
@@ -451,118 +653,144 @@ Closed</p>
<tbody>
<tr>
<td>Export/Import</td>
-<td></td>
-<td></td>
-<td></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10227?src=confmacro">HIVE-10227</a> - Concrete implementation of Export/Import based ReplicationTaskFactory Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Export/Import</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10426?src=confmacro">HIVE-10426</a> - Rework/simplify ReplicationTaskFactory instantiation Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9824?src=confmacro">HIVE-9824</a> - LLAP: Native Vectorization of Map Join Closed</td>
+<td>committed</td>
+<td>mmccline</td>
+</tr>
+<tr>
+<td>Spark</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10347?src=confmacro">HIVE-10347</a> - Merge spark to trunk 4/15/2015 Closed</td>
+<td>committed</td>
+<td>szehon</td>
+</tr>
+<tr>
+<td>Types</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9917?src=confmacro">HIVE-9917</a> - After HIVE-3454 is done, make int to timestamp conversion configurable Closed</td>
+<td>committed</td>
+<td>jdere</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10403?src=confmacro">HIVE-10403</a> - Add n-way join support for Hybrid Grace Hash Join Closed</td>
+<td>committed</td>
+<td>wzheng</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10323?src=confmacro">HIVE-10323</a> - Tez merge join operator does not honor hive.join.emit.interval Closed</td>
+<td>committed</td>
+<td>vikram.dixit</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9674?src=confmacro">HIVE-9674</a> - *DropPartitionEvent should handle partition-sets. Closed</td>
+<td>committed</td>
+<td>mithun</td>
+</tr>
+<tr>
+<td>Spark</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10477?src=confmacro">HIVE-10477</a> - Provide option to disable Spark tests Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>JDBC</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10447?src=confmacro">HIVE-10447</a> - Beeline JDBC Driver to support 2 way SSL Closed</td>
+<td>committed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>HiveServer2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-4625?src=confmacro">HIVE-4625</a> - HS2 should not attempt to get delegation token from metastore if using embedded metastore Closed</td>
+<td>committed</td>
+<td>thejas</td>
</tr>
<tr>
-<td><a href="https://issues.apache.org/jira/browse/HIVE-10227?src=confmacro">HIVE-10227</a></td>
-<td></td>
-<td></td>
-<td></td>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10382?src=confmacro">HIVE-10382</a> - Aggregate stats cache for RDBMS based metastore codepath Closed</td>
+<td>committed</td>
+<td>vaibhav</td>
+</tr>
+<tr>
+<td>ACID</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10481?src=confmacro">HIVE-10481</a> - ACID table update finishes but values not really updated if column names are not all lower case Closed</td>
+<td>committed</td>
+<td>Eugene</td>
+</tr>
+<tr>
+<td>ACID</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10483?src=confmacro">HIVE-10483</a> - insert overwrite partition deadlocks on itself with DbTxnManager Closed</td>
+<td>committed</td>
+<td>Eugene</td>
+</tr>
+<tr>
+<td>ACID</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10151?src=confmacro">HIVE-10151</a> - insert into A select from B is broken when both A and B are Acid tables and bucketed the same way Closed</td>
+<td>committed</td>
+<td>Eugene</td>
+</tr>
+<tr>
+<td>Security</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9681?src=confmacro">HIVE-9681</a> - Extend HiveAuthorizationProvider to support partition-sets. Closed</td>
+<td>committed</td>
+<td>mithun</td>
+</tr>
+<tr>
+<td>Replication</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-8165?src=confmacro">HIVE-8165</a> - Annotation changes for replication Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>QL</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-5672?src=confmacro">HIVE-5672</a> - Insert with custom separator not supported for non-local directory Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>Parkquet</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10372?src=confmacro">HIVE-10372</a> - Update parquet version to 1.6.0 Closed</td>
+<td>committed</td>
+<td>Ferdinand Xu</td>
+</tr>
+<tr>
+<td>HCatalog</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-5545?src=confmacro">HIVE-5545</a> - HCatRecord getInteger method returns String when used on Partition columns of type INT Closed</td>
+<td>committed</td>
+<td>sushanth</td>
+</tr>
+<tr>
+<td>HiveServer2</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-8890?src=confmacro">HIVE-8890</a> - HiveServer2 dynamic service discovery: use persistent ephemeral nodes curator recipe Closed</td>
+<td>committed</td>
+<td>vaibhav</td>
+</tr>
+<tr>
+<td>HCatalog</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10213?src=confmacro">HIVE-10213</a> - MapReduce jobs using dynamic-partitioning fail on commit. Closed</td>
+<td>committed</td>
+<td>mithun</td>
+</tr>
+<tr>
+<td>HCatalog</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9845?src=confmacro">HIVE-9845</a> - HCatSplit repeats information making input split data size huge Closed</td>
+<td>committed</td>
+<td>mithun</td>
</tr>
</tbody>
</table>
-<ul>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-</ul>
-<h2 id=hive-9917httpsissuesapacheorgjirabrowsehive-9917srcconfmacro><a href="https://issues.apache.org/jira/browse/HIVE-9917?src=confmacro">HIVE-9917</a></h2>
-<p>After HIVE-3454 is done, make int to timestamp conversion configurable
-Closed</p>
-<h2 id=hive-10403httpsissuesapacheorgjirabrowsehive-10403srcconfmacro>| committed | jdere |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10403?src=confmacro">HIVE-10403</a></h2>
-<h2 id=hive-10323httpsissuesapacheorgjirabrowsehive-10323srcconfmacro>Add n-way join support for Hybrid Grace Hash Join
-Closed
-| committed | wzheng |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-10323?src=confmacro">HIVE-10323</a></h2>
-<h2 id=hive-9674httpsissuesapacheorgjirabrowsehive-9674srcconfmacro>Tez merge join operator does not honor hive.join.emit.interval
-Closed
-| committed | vikram.dixit |
-| Metastore |
-<a href="https://issues.apache.org/jira/browse/HIVE-9674?src=confmacro">HIVE-9674</a></h2>
-<h2 id=hive-10477httpsissuesapacheorgjirabrowsehive-10477srcconfmacro>*DropPartitionEvent should handle partition-sets.
-Closed
-| committed | mithun |
-| Spark |
-<a href="https://issues.apache.org/jira/browse/HIVE-10477?src=confmacro">HIVE-10477</a></h2>
-<h2 id=hive-10447httpsissuesapacheorgjirabrowsehive-10447srcconfmacro>Provide option to disable Spark tests
-Closed
-| committed | sushanth |
-| JDBC |
-<a href="https://issues.apache.org/jira/browse/HIVE-10447?src=confmacro">HIVE-10447</a></h2>
-<h2 id=hive-4625httpsissuesapacheorgjirabrowsehive-4625srcconfmacro>Beeline JDBC Driver to support 2 way SSL
-Closed
-| committed | thejas |
-| HiveServer2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-4625?src=confmacro">HIVE-4625</a></h2>
-<h2 id=hive-10382httpsissuesapacheorgjirabrowsehive-10382srcconfmacro>HS2 should not attempt to get delegation token from metastore if using embedded metastore
-Closed
-| committed | thejas |
-| Metastore |
-<a href="https://issues.apache.org/jira/browse/HIVE-10382?src=confmacro">HIVE-10382</a></h2>
-<h2 id=hive-10481httpsissuesapacheorgjirabrowsehive-10481srcconfmacro>Aggregate stats cache for RDBMS based metastore codepath
-Closed
-| committed | vaibhav |
-| ACID |
-<a href="https://issues.apache.org/jira/browse/HIVE-10481?src=confmacro">HIVE-10481</a></h2>
-<h2 id=hive-10483httpsissuesapacheorgjirabrowsehive-10483srcconfmacro>ACID table update finishes but values not really updated if column names are not all lower case
-Closed
-| committed | Eugene |
-| ACID |
-<a href="https://issues.apache.org/jira/browse/HIVE-10483?src=confmacro">HIVE-10483</a></h2>
-<h2 id=hive-10151httpsissuesapacheorgjirabrowsehive-10151srcconfmacro>insert overwrite partition deadlocks on itself with DbTxnManager
-Closed
-| committed | Eugene |
-| ACID |
-<a href="https://issues.apache.org/jira/browse/HIVE-10151?src=confmacro">HIVE-10151</a></h2>
-<h2 id=hive-9681httpsissuesapacheorgjirabrowsehive-9681srcconfmacro>insert into A select from B is broken when both A and B are Acid tables and bucketed the same way
-Closed
-| committed | Eugene |
-| Security |
-<a href="https://issues.apache.org/jira/browse/HIVE-9681?src=confmacro">HIVE-9681</a></h2>
-<h2 id=hive-8165httpsissuesapacheorgjirabrowsehive-8165srcconfmacro>Extend HiveAuthorizationProvider to support partition-sets.
-Closed
-| committed | mithun |
-| Replication |
-<a href="https://issues.apache.org/jira/browse/HIVE-8165?src=confmacro">HIVE-8165</a></h2>
-<h2 id=hive-5672httpsissuesapacheorgjirabrowsehive-5672srcconfmacro>Annotation changes for replication
-Closed
-| committed | sushanth |
-| QL |
-<a href="https://issues.apache.org/jira/browse/HIVE-5672?src=confmacro">HIVE-5672</a></h2>
-<h2 id=hive-10372httpsissuesapacheorgjirabrowsehive-10372srcconfmacro>Insert with custom separator not supported for non-local directory
-Closed
-| committed | sushanth |
-| Parkquet |
-<a href="https://issues.apache.org/jira/browse/HIVE-10372?src=confmacro">HIVE-10372</a></h2>
-<h2 id=hive-5545httpsissuesapacheorgjirabrowsehive-5545srcconfmacro>Update parquet version to 1.6.0
-Closed
-| committed | Ferdinand Xu |
-| HCatalog |
-<a href="https://issues.apache.org/jira/browse/HIVE-5545?src=confmacro">HIVE-5545</a></h2>
-<h2 id=hive-8890httpsissuesapacheorgjirabrowsehive-8890srcconfmacro>HCatRecord getInteger method returns String when used on Partition columns of type INT
-Closed
-| committed | sushanth |
-| HiveServer2 |
-<a href="https://issues.apache.org/jira/browse/HIVE-8890?src=confmacro">HIVE-8890</a></h2>
-<h2 id=hive-10213httpsissuesapacheorgjirabrowsehive-10213srcconfmacro>HiveServer2 dynamic service discovery: use persistent ephemeral nodes curator recipe
-Closed
-| committed | vaibhav |
-| HCatalog |
-<a href="https://issues.apache.org/jira/browse/HIVE-10213?src=confmacro">HIVE-10213</a></h2>
-<h2 id=hive-9845httpsissuesapacheorgjirabrowsehive-9845srcconfmacro>MapReduce jobs using dynamic-partitioning fail on commit.
-Closed
-| committed | mithun |
-| HCatalog |
-<a href="https://issues.apache.org/jira/browse/HIVE-9845?src=confmacro">HIVE-9845</a></h2>
-<p>HCatSplit repeats information making input split data size huge
-Closed
-| committed | mithun |</p>
<p> </p>
<p> </p>
</div>
diff --git a/docs/latest/different-timestamp-types_103091503/index.html b/docs/latest/different-timestamp-types_103091503/index.html
index 3ad7e87..d1efbbb 100644
--- a/docs/latest/different-timestamp-types_103091503/index.html
+++ b/docs/latest/different-timestamp-types_103091503/index.html
@@ -132,17 +132,73 @@ ASF
<h1 id=comparison>Comparison</h1>
<p>Let’s summarize the example of how the different semantics described above apply to a value inserted into a SQL table.</p>
<p>If the timestamp literal ‘1969-07-20 16:17:39’ is inserted in Washington D.C. and then queried from Paris, it might be shown in the following ways based on timestamp semantics:</p>
-<p>| SQL type | Semantics | Result | Explanation |
-| TIMESTAMP [WITHOUT TIME ZONE] | LocalDateTime | 1969-07-20 16:17:39 | Displayed like the original timestamp literal. |
-| TIMESTAMP WITH LOCAL TIME ZONE | Instant | 1969-07-20 21:17:39 | Differs from the original timestamp literal, but refers to the same time instant. |
-| TIMESTAMP WITH TIME ZONE | OffsetDateTime | 1969-07-20 16:17:39 (UTC -04:00) | Displayed like the original literal but showing the time zone offset as well. |</p>
+<table>
+<thead>
+<tr>
+<th>SQL type</th>
+<th>Semantics</th>
+<th>Result</th>
+<th>Explanation</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>TIMESTAMP [WITHOUT TIME ZONE]</td>
+<td>LocalDateTime</td>
+<td>1969-07-20 16:17:39</td>
+<td>Displayed like the original timestamp literal.</td>
+</tr>
+<tr>
+<td>TIMESTAMP WITH LOCAL TIME ZONE</td>
+<td>Instant</td>
+<td>1969-07-20 21:17:39</td>
+<td>Differs from the original timestamp literal, but refers to the same time instant.</td>
+</tr>
+<tr>
+<td>TIMESTAMP WITH TIME ZONE</td>
+<td>OffsetDateTime</td>
+<td>1969-07-20 16:17:39 (UTC -04:00)</td>
+<td>Displayed like the original literal but showing the time zone offset as well.</td>
+</tr>
+</tbody>
+</table>
<p>Of course, the different semantics do not only affect the textual representations but perhaps more importantly SQL function behavior as well. These allow users to take advantage of timestamps in different ways or to explicitly create different textual representations instead of the implicit ones shown above.</p>
<p>In fact, even the implicit textual representations could be different than shown above, for example Instant could be displayed normalized to UTC or OffsetDateTime could be adjusted to the local time zone by default. The examples shown above are just common ways of creating an implicit textual representation for the different semantics, but the truly important difference lies in what details can and what details can not be reconstructed from the different semantics:</p>
-<p>| | Reconstructible details |
-| SQL type | Semantics | Local clock reading | Time instant | Time zone offset |
-| TIMESTAMP [WITHOUT TIME ZONE] | LocalDateTime | ✓ | | |
-| TIMESTAMP WITH LOCAL TIME ZONE | Instant | | ✓ | |
-| TIMESTAMP WITH TIME ZONE | OffsetDateTime | ✓ | ✓ | ✓ |</p>
+<p>Reconstructible details:</p>
+<table>
+<thead>
+<tr>
+<th>SQL type</th>
+<th>Semantics</th>
+<th style=text-align:center>Local clock reading</th>
+<th style=text-align:center>Time instant</th>
+<th style=text-align:center>Time zone offset</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>TIMESTAMP [WITHOUT TIME ZONE]</td>
+<td>LocalDateTime</td>
+<td style=text-align:center>✓</td>
+<td style=text-align:center></td>
+<td style=text-align:center></td>
+</tr>
+<tr>
+<td>TIMESTAMP WITH LOCAL TIME ZONE</td>
+<td>Instant</td>
+<td style=text-align:center></td>
+<td style=text-align:center>✓</td>
+<td style=text-align:center></td>
+</tr>
+<tr>
+<td>TIMESTAMP WITH TIME ZONE</td>
+<td>OffsetDateTime</td>
+<td style=text-align:center>✓</td>
+<td style=text-align:center>✓</td>
+<td style=text-align:center>✓</td>
+</tr>
+</tbody>
+</table>
</div>
</div>
<footer class="black-background static-bottom" style=padding:30px>
diff --git a/docs/latest/druid-integration_65866491/index.html b/docs/latest/druid-integration_65866491/index.html
index 30eb149..12ced4f 100644
--- a/docs/latest/druid-integration_65866491/index.html
+++ b/docs/latest/druid-integration_65866491/index.html
@@ -533,274 +533,286 @@ OK
Time taken: 1.835 seconds, Fetched: 2 row(s)
</code></pre><p> </p>
<h1 id=open-issues-jira>Open Issues (JIRA)</h1>
-<p>|
-| |
-| Key | Summary | T | Created | Updated | Due | Assignee | Reporter | P | Status | Resolution |
-| <a href="https://issues.apache.org/jira/browse/HIVE-14473?src=confmacro">HIVE-14473</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14473?src=confmacro">Druid integration II</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14473?src=confmacro">New Feature</a> |
-Aug 08, 2016
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-14543?src=confmacro">HIVE-14543</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14543?src=confmacro">Create Druid table without specifying data source</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14543?src=confmacro">Sub-task</a> |
-Aug 16, 2016
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-14597?src=confmacro">HIVE-14597</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14597?src=confmacro">Support for Druid custom granularities</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14597?src=confmacro">Sub-task</a> |
-Aug 22, 2016
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Minor |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-14722?src=confmacro">HIVE-14722</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14722?src=confmacro">Support creating vector row batches from Druid</a> | <a href="https://issues.apache.org/jira/browse/HIVE-14722?src=confmacro">Sub-task</a> |
-Sep 08, 2016
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-15584?src=confmacro">HIVE-15584</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15584?src=confmacro">Early bail out when we use CTAS and Druid source already exists</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15584?src=confmacro">Sub-task</a> |
-Jan 11, 2017
-|
-Feb 27, 2024
-| |
-Slim Bouguerra
-|
-Jesús Camacho Rodríguez
-| Minor |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-15640?src=confmacro">HIVE-15640</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15640?src=confmacro">Hive/Druid integration: null handling for metrics</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15640?src=confmacro">Bug</a> |
-Jan 16, 2017
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Critical |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-16121?src=confmacro">HIVE-16121</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16121?src=confmacro">Add flag to allow approximate results coming from Druid</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16121?src=confmacro">Improvement</a> |
-Mar 06, 2017
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-16816?src=confmacro">HIVE-16816</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16816?src=confmacro">Chained Group by support for druid.</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16816?src=confmacro">Sub-task</a> |
-Jun 02, 2017
-|
-Feb 23, 2018
-| |
-Slim Bouguerra
-|
-Slim Bouguerra
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-17716?src=confmacro">HIVE-17716</a> | <a href="https://issues.apache.org/jira/browse/HIVE-17716?src=confmacro">Not pushing postaggregations into Druid due to CAST on constant</a> | <a href="https://issues.apache.org/jira/browse/HIVE-17716?src=confmacro">Improvement</a> |
-Oct 05, 2017
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-18668?src=confmacro">HIVE-18668</a> | <a href="https://issues.apache.org/jira/browse/HIVE-18668?src=confmacro">Really shade guava in ql</a> | <a href="https://issues.apache.org/jira/browse/HIVE-18668?src=confmacro">Bug</a> |
-Feb 09, 2018
-|
-Oct 21, 2022
-| |
-Zoltan Haindrich
-|
-Zoltan Haindrich
-| Major |</p>
-<p>Patch Available
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-18731?src=confmacro">HIVE-18731</a> | <a href="https://issues.apache.org/jira/browse/HIVE-18731?src=confmacro">Add Documentations about this feature.</a> | <a href="https://issues.apache.org/jira/browse/HIVE-18731?src=confmacro">Sub-task</a> |
-Feb 16, 2018
-|
-Oct 17, 2018
-| |
-Slim Bouguerra
-|
-Slim Bouguerra
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-19044?src=confmacro">HIVE-19044</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19044?src=confmacro">Duplicate field names within Druid Query Generated by Calcite plan</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19044?src=confmacro">Bug</a> |
-Mar 25, 2018
-|
-Apr 05, 2018
-| |
-Slim Bouguerra
-|
-Slim Bouguerra
-| Major |</p>
-<p>Patch Available
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-19201?src=confmacro">HIVE-19201</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19201?src=confmacro">Hive doesn’t read Druid data correctly</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19201?src=confmacro">Bug</a> |
-Apr 13, 2018
-|
-Oct 05, 2018
-|
-Apr 17, 2018
-|
-Unassigned
-|
-Tournadre
-| Blocker |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-19300?src=confmacro">HIVE-19300</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19300?src=confmacro">Skip Druid/JDBC rules in optimizer when there are no Druid/JDBC sources</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19300?src=confmacro">Improvement</a> |
-Apr 25, 2018
-|
-Feb 27, 2024
-| |
-Unassigned
-|
-Jesús Camacho Rodríguez
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-19672?src=confmacro">HIVE-19672</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19672?src=confmacro">Column Names mismatch between native Druid Tables and Hive External table map</a> | <a href="https://issues.apache.org/jira/browse/HIVE-19672?src=confmacro">Bug</a> |
-May 23, 2018
-|
-Oct 21, 2022
-| |
-Unassigned
-|
-Slim Bouguerra
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-20426?src=confmacro">HIVE-20426</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20426?src=confmacro">Upload Druid Test Runner logs from Build Slaves</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20426?src=confmacro">Improvement</a> |
-Aug 20, 2018
-|
-Aug 20, 2018
-| |
-Vineet Garg
-|
-Slim Bouguerra
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-20468?src=confmacro">HIVE-20468</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20468?src=confmacro">Add ability to skip creating druid bitmap indexes for specific string dimensions</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20468?src=confmacro">New Feature</a> |
-Aug 27, 2018
-|
-Aug 27, 2018
-| |
-Nishant Bangarwa
-|
-Nishant Bangarwa
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-20469?src=confmacro">HIVE-20469</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20469?src=confmacro">Do not rollup PK/FK columns when indexing to druid.</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20469?src=confmacro">Improvement</a> |
-Aug 27, 2018
-|
-Oct 10, 2018
-| |
-Nishant Bangarwa
-|
-Nishant Bangarwa
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-20687?src=confmacro">HIVE-20687</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20687?src=confmacro">Cancel Running Druid Query when a hive query is cancelled.</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20687?src=confmacro">Improvement</a> |
-Oct 03, 2018
-|
-Oct 05, 2018
-| |
-Nishant Bangarwa
-|
-Nishant Bangarwa
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-20997?src=confmacro">HIVE-20997</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20997?src=confmacro">Make Druid Cluster start on random ports.</a> | <a href="https://issues.apache.org/jira/browse/HIVE-20997?src=confmacro">Sub-task</a> |
-Dec 03, 2018
-|
-Dec 04, 2018
-| |
-Slim Bouguerra
-|
-Slim Bouguerra
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-|</p>
+<table>
+<thead>
+<tr>
+<th>Key</th>
+<th>Summary</th>
+<th>T</th>
+<th>Created</th>
+<th>Updated</th>
+<th>Due</th>
+<th>Assignee</th>
+<th>Reporter</th>
+<th>P</th>
+<th>Status</th>
+<th>Resolution</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14473?src=confmacro">HIVE-14473</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14473?src=confmacro">Druid integration II</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14473?src=confmacro">New Feature</a></td>
+<td>Aug 08, 2016</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14543?src=confmacro">HIVE-14543</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14543?src=confmacro">Create Druid table without specifying data source</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14543?src=confmacro">Sub-task</a></td>
+<td>Aug 16, 2016</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14597?src=confmacro">HIVE-14597</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14597?src=confmacro">Support for Druid custom granularities</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14597?src=confmacro">Sub-task</a></td>
+<td>Aug 22, 2016</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Minor</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14722?src=confmacro">HIVE-14722</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14722?src=confmacro">Support creating vector row batches from Druid</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-14722?src=confmacro">Sub-task</a></td>
+<td>Sep 08, 2016</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15584?src=confmacro">HIVE-15584</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15584?src=confmacro">Early bail out when we use CTAS and Druid source already exists</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15584?src=confmacro">Sub-task</a></td>
+<td>Jan 11, 2017</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Slim Bouguerra</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Minor</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15640?src=confmacro">HIVE-15640</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15640?src=confmacro">Hive/Druid integration: null handling for metrics</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15640?src=confmacro">Bug</a></td>
+<td>Jan 16, 2017</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Critical</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16121?src=confmacro">HIVE-16121</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16121?src=confmacro">Add flag to allow approximate results coming from Druid</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16121?src=confmacro">Improvement</a></td>
+<td>Mar 06, 2017</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16816?src=confmacro">HIVE-16816</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16816?src=confmacro">Chained Group by support for druid.</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16816?src=confmacro">Sub-task</a></td>
+<td>Jun 02, 2017</td>
+<td>Feb 23, 2018</td>
+<td></td>
+<td>Slim Bouguerra</td>
+<td>Slim Bouguerra</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-17716?src=confmacro">HIVE-17716</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-17716?src=confmacro">Not pushing postaggregations into Druid due to CAST on constant</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-17716?src=confmacro">Improvement</a></td>
+<td>Oct 05, 2017</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-18668?src=confmacro">HIVE-18668</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-18668?src=confmacro">Really shade guava in ql</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-18668?src=confmacro">Bug</a></td>
+<td>Feb 09, 2018</td>
+<td>Oct 21, 2022</td>
+<td></td>
+<td>Zoltan Haindrich</td>
+<td>Zoltan Haindrich</td>
+<td>Major</td>
+<td>Patch Available</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-18731?src=confmacro">HIVE-18731</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-18731?src=confmacro">Add Documentations about this feature.</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-18731?src=confmacro">Sub-task</a></td>
+<td>Feb 16, 2018</td>
+<td>Oct 17, 2018</td>
+<td></td>
+<td>Slim Bouguerra</td>
+<td>Slim Bouguerra</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19044?src=confmacro">HIVE-19044</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19044?src=confmacro">Duplicate field names within Druid Query Generated by Calcite plan</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19044?src=confmacro">Bug</a></td>
+<td>Mar 25, 2018</td>
+<td>Apr 05, 2018</td>
+<td></td>
+<td>Slim Bouguerra</td>
+<td>Slim Bouguerra</td>
+<td>Major</td>
+<td>Patch Available</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19201?src=confmacro">HIVE-19201</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19201?src=confmacro">Hive doesn’t read Druid data correctly</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19201?src=confmacro">Bug</a></td>
+<td>Apr 13, 2018</td>
+<td>Oct 05, 2018</td>
+<td>Apr 17, 2018</td>
+<td>Unassigned</td>
+<td>Tournadre</td>
+<td>Blocker</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19300?src=confmacro">HIVE-19300</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19300?src=confmacro">Skip Druid/JDBC rules in optimizer when there are no Druid/JDBC sources</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19300?src=confmacro">Improvement</a></td>
+<td>Apr 25, 2018</td>
+<td>Feb 27, 2024</td>
+<td></td>
+<td>Unassigned</td>
+<td>Jesús Camacho Rodríguez</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19672?src=confmacro">HIVE-19672</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19672?src=confmacro">Column Names mismatch between native Druid Tables and Hive External table map</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-19672?src=confmacro">Bug</a></td>
+<td>May 23, 2018</td>
+<td>Oct 21, 2022</td>
+<td></td>
+<td>Unassigned</td>
+<td>Slim Bouguerra</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20426?src=confmacro">HIVE-20426</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20426?src=confmacro">Upload Druid Test Runner logs from Build Slaves</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20426?src=confmacro">Improvement</a></td>
+<td>Aug 20, 2018</td>
+<td>Aug 20, 2018</td>
+<td></td>
+<td>Vineet Garg</td>
+<td>Slim Bouguerra</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20468?src=confmacro">HIVE-20468</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20468?src=confmacro">Add ability to skip creating druid bitmap indexes for specific string dimensions</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20468?src=confmacro">New Feature</a></td>
+<td>Aug 27, 2018</td>
+<td>Aug 27, 2018</td>
+<td></td>
+<td>Nishant Bangarwa</td>
+<td>Nishant Bangarwa</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20469?src=confmacro">HIVE-20469</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20469?src=confmacro">Do not rollup PK/FK columns when indexing to druid.</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20469?src=confmacro">Improvement</a></td>
+<td>Aug 27, 2018</td>
+<td>Oct 10, 2018</td>
+<td></td>
+<td>Nishant Bangarwa</td>
+<td>Nishant Bangarwa</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20687?src=confmacro">HIVE-20687</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20687?src=confmacro">Cancel Running Druid Query when a hive query is cancelled.</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20687?src=confmacro">Improvement</a></td>
+<td>Oct 03, 2018</td>
+<td>Oct 05, 2018</td>
+<td></td>
+<td>Nishant Bangarwa</td>
+<td>Nishant Bangarwa</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20997?src=confmacro">HIVE-20997</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20997?src=confmacro">Make Druid Cluster start on random ports.</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-20997?src=confmacro">Sub-task</a></td>
+<td>Dec 03, 2018</td>
+<td>Dec 04, 2018</td>
+<td></td>
+<td>Slim Bouguerra</td>
+<td>Slim Bouguerra</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+</tr>
+</tbody>
+</table>
<p><a href="https://cwiki.apache.org/confluence/plugins/servlet/applinks/oauth/login-dance/authorize?applicationLinkID=5aa69414-a9e9-3523-82ec-879b028fb15b">Authenticate</a> to retrieve your issues</p>
-<p>|</p>
<p>Showing 20 out of
<a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+Hive+AND+component+%3D+12330863++and+resolution+%3D+Unresolved+ORDER+BY+key+ASC+&src=confmacro">28 issues</a></p>
</div>
diff --git a/docs/latest/genericudafcasestudy_27362093/index.html b/docs/latest/genericudafcasestudy_27362093/index.html
index c1f84ac..03aa242 100644
--- a/docs/latest/genericudafcasestudy_27362093/index.html
+++ b/docs/latest/genericudafcasestudy_27362093/index.html
@@ -153,11 +153,36 @@ ASF
<h2 id=preliminaries>Preliminaries</h2>
<p>Make sure you have the latest Hive trunk by running <code>svn up</code> in your Hive directory. More detailed instructions on downloading and setting up Hive can be found at <a href=http://wiki.apache.org/hadoop/Hive/GettingStarted>Getting Started</a> . Your local copy of Hive should work by running <code>build/dist/bin/hive</code> from the Hive root directory, and you should have some tables of data loaded into your local instance for testing whatever UDAF you have in mind. For this [...]
<p>The files we will be editing or creating are as follows, relative to the Hive root:</p>
-<p>| <code>ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFHistogram.java</code> | the main source file, to be created by you. | |
-| <code>ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java</code> | the function registry source file, to be edited by you to register our new <code>histogram()</code> UDAF into Hive’s built-in function list. | |
-| <code>ql/src/test/queries/clientpositive/udaf_histogram.q</code> | a file of sample queries for testing <code>histogram()</code> on sample data, to be created by you. | |
-| <code>ql/src/test/results/clientpositive/udaf_histogram.q.out</code> | the expected output from your sample queries, to be created by <code>ant</code> in a later step. | |
-| <code>ql/src/test/results/clientpositive/show_functions.q.out</code> | the expected output from the SHOW FUNCTIONS Hive query. Since we’re adding a new <code>histogram()</code> function, this expected output will change to reflect the new function. This file will be modified by <code>ant</code> in a later step. | |</p>
+<table>
+<thead>
+<tr>
+<th></th>
+<th></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><code>ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFHistogram.java</code></td>
+<td>the main source file, to be created by you.</td>
+</tr>
+<tr>
+<td><code>ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java</code></td>
+<td>the function registry source file, to be edited by you to register our new <code>histogram()</code> UDAF into Hive’s built-in function list.</td>
+</tr>
+<tr>
+<td><code>ql/src/test/queries/clientpositive/udaf_histogram.q</code></td>
+<td>a file of sample queries for testing <code>histogram()</code> on sample data, to be created by you.</td>
+</tr>
+<tr>
+<td><code>ql/src/test/results/clientpositive/udaf_histogram.q.out</code></td>
+<td>the expected output from your sample queries, to be created by <code>ant</code> in a later step.</td>
+</tr>
+<tr>
+<td><code>ql/src/test/results/clientpositive/show_functions.q.out</code></td>
+<td>the expected output from the SHOW FUNCTIONS Hive query. Since we’re adding a new <code>histogram()</code> function, this expected output will change to reflect the new function. This file will be modified by <code>ant</code> in a later step.</td>
+</tr>
+</tbody>
+</table>
<h2 id=writing-the-source>Writing the source</h2>
<p>This section gives a high-level outline of how to implement your own generic UDAF. For a concrete example, look at any of the existing UDAF sources present in <code>ql/src/java/org/apache/hadoop/hive/ql/udf/generic/</code> directory.</p>
<h3 id=overview>Overview</h3>
@@ -284,13 +309,40 @@ public class GenericUDAFHistogramNumeric extends AbstractGenericUDAFResolver {
}
</code></pre><p>What do all these functions do? The following is a brief summary of each function, in (roughly) chronological order of being called. It’s <strong>very</strong> important to remember that the computation of your aggregation must be arbitrarily divisible over the data. Think of it like writing a divide-and-conquer algorithm where the partitioning of the data is completely out of your control and handled by Hive. More formally, given any subset of the input rows, you s [...]
-<p>| <strong>Function</strong> | <strong>Purpose</strong> |
-| init | Called by Hive to initialize an instance of your UDAF evaluator class. |
-| getNewAggregationBuffer | Return an object that will be used to store temporary aggregation results. |
-| iterate | Process a new row of data into the aggregation buffer |
-| terminatePartial | Return the contents of the current aggregation in a persistable way. Here persistable means the return value can only be built up in terms of Java primitives, arrays, primitive wrappers (e.g. Double), Hadoop Writables, Lists, and Maps. Do NOT use your own classes (even if they implement java.io.Serializable), otherwise you may get strange errors or (probably worse) wrong results. |
-| merge | Merge a partial aggregation returned by <strong>terminatePartial</strong> into the current aggregation |
-| terminate | Return the final result of the aggregation to Hive |</p>
+<table>
+<thead>
+<tr>
+<th><strong>Function</strong></th>
+<th><strong>Purpose</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>init</td>
+<td>Called by Hive to initialize an instance of your UDAF evaluator class.</td>
+</tr>
+<tr>
+<td>getNewAggregationBuffer</td>
+<td>Return an object that will be used to store temporary aggregation results.</td>
+</tr>
+<tr>
+<td>iterate</td>
+<td>Process a new row of data into the aggregation buffer</td>
+</tr>
+<tr>
+<td>terminatePartial</td>
+<td>Return the contents of the current aggregation in a persistable way. Here persistable means the return value can only be built up in terms of Java primitives, arrays, primitive wrappers (e.g. Double), Hadoop Writables, Lists, and Maps. Do NOT use your own classes (even if they implement java.io.Serializable), otherwise you may get strange errors or (probably worse) wrong results.</td>
+</tr>
+<tr>
+<td>merge</td>
+<td>Merge a partial aggregation returned by <strong>terminatePartial</strong> into the current aggregation</td>
+</tr>
+<tr>
+<td>terminate</td>
+<td>Return the final result of the aggregation to Hive</td>
+</tr>
+</tbody>
+</table>
<p>For writing the <code>histogram()</code> function, the following is the strategy that was adopted.</p>
<h4 id=getnewaggregationbuffer>getNewAggregationBuffer</h4>
<p>The aggregation buffer for a histogram is a list of (x,y) pairs that represent the histogram’s bin centers and heights. In addition, the aggregation buffer also stores two integers with the maximum number of bins (a user-specified parameter), and the current number of bins used. The aggregation buffer is initialized to a ‘not ready’ state with the number of bins set to 0. This is because Hive makes no distinction between a constant parameter supplied to a UDAF and a [...]
diff --git a/docs/latest/hbaseintegration_27362089/index.html b/docs/latest/hbaseintegration_27362089/index.html
index cede0ef..66d5eed 100644
--- a/docs/latest/hbaseintegration_27362089/index.html
+++ b/docs/latest/hbaseintegration_27362089/index.html
@@ -475,274 +475,286 @@ SELECT COUNT(1) FROM pokes3 WHERE foo=498;
<li>Primary credit for this feature goes to Samuel Guo, who did most of the development work in the early drafts of the patch</li>
</ul>
<h2 id=open-issues-jira>Open Issues (JIRA)</h2>
-<p>|
-| |
-| T | Key | Summary | Assignee | Reporter | P | Status | Resolution | Created | Updated | Due |
-| <a href="https://issues.apache.org/jira/browse/HIVE-27750?src=confmacro">Improvement</a> | <a href="https://issues.apache.org/jira/browse/HIVE-27750?src=confmacro">HIVE-27750</a> | <a href="https://issues.apache.org/jira/browse/HIVE-27750?src=confmacro">Use HBase’s TableMapReduceUtil.convertScanToString() API instead of using the method implementation.</a> |
-Dayakar M
-|
-Dayakar M
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Sep 28, 2023
-|
-Sep 28, 2023
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-24833?src=confmacro">Improvement</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24833?src=confmacro">HIVE-24833</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24833?src=confmacro">Hive Uses Fetch Task For HBaseStorageHandler Scans</a> |
-Unassigned
-|
-David Mollitor
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Feb 25, 2021
-|
-Mar 08, 2021
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-24706?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24706?src=confmacro">HIVE-24706</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24706?src=confmacro">Spark SQL access hive on HBase table access exception</a> |
-Unassigned
-|
-zhangzhanchang
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Jan 30, 2021
-|
-Jan 23, 2024
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-24544?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24544?src=confmacro">HIVE-24544</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24544?src=confmacro">HBase Timestamp filter never gets converted to a timerange filter</a> |
-Unassigned
-|
-Fabien Carrion
-| Minor |</p>
-<p>Open
-|
-Unresolved
-|
-Dec 16, 2020
-|
-Dec 16, 2020
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-24418?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24418?src=confmacro">HIVE-24418</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24418?src=confmacro">there is an error “java.lang.IllegalArgumentException: No columns to insert” when the result data is empty</a> |
-Unassigned
-|
-HuiyuZhou
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Nov 24, 2020
-|
-Nov 25, 2020
-|
-Nov 24, 2020
-|
-| <a href="https://issues.apache.org/jira/browse/HIVE-24407?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24407?src=confmacro">HIVE-24407</a> | <a href="https://issues.apache.org/jira/browse/HIVE-24407?src=confmacro">Unable to read data with Hbase snapshot set</a> |
-Unassigned
-|
-Ayush Saxena
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Nov 20, 2020
-|
-Nov 20, 2020
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-21936?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21936?src=confmacro">HIVE-21936</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21936?src=confmacro">Snapshot inconsistency plan execution</a> |
-Unassigned
-|
-Jean-Pierre Hoang
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Jun 30, 2019
-|
-Jun 30, 2019
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-21748?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21748?src=confmacro">HIVE-21748</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21748?src=confmacro">HBase Operations Can Fail When Using MAPREDLOCAL</a> |
-Unassigned
-|
-David Mollitor
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-May 17, 2019
-|
-Jun 03, 2019
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-21277?src=confmacro">New Feature</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21277?src=confmacro">HIVE-21277</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21277?src=confmacro">Make HBaseSerde First-Class SerDe</a> |
-Unassigned
-|
-David Mollitor
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Feb 15, 2019
-|
-Feb 15, 2019
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-21265?src=confmacro">Improvement</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21265?src=confmacro">HIVE-21265</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21265?src=confmacro">Hive miss-uses HBase HConnection object and that puts high load on Zookeeper</a> |
-Unassigned
-|
-István Fajth
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Feb 13, 2019
-|
-Feb 13, 2019
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-21179?src=confmacro">Improvement</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21179?src=confmacro">HIVE-21179</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21179?src=confmacro">Move SampleHBaseKeyFactory* Into Main Code Line</a> |
-Unassigned
-|
-David Mollitor
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Jan 29, 2019
-|
-Jan 29, 2019
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-21068?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21068?src=confmacro">HIVE-21068</a> | <a href="https://issues.apache.org/jira/browse/HIVE-21068?src=confmacro">hive table join hbase table return code 3</a> |
-Unassigned
-|
-Baozhu Zhao
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Dec 26, 2018
-|
-May 21, 2019
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-16884?src=confmacro">Improvement</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16884?src=confmacro">HIVE-16884</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16884?src=confmacro">Replace the deprecated HBaseInterface with Table</a> |
-Aihua Xu
-|
-Aihua Xu
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Jun 12, 2017
-|
-Jun 12, 2017
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-16883?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16883?src=confmacro">HIVE-16883</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16883?src=confmacro">HBaseStorageHandler Ignores Case for HBase Table Name</a> |
-Bing Li
-|
-Shawn Weeks
-| Minor |</p>
-<p>Open
-|
-Unresolved
-|
-Jun 12, 2017
-|
-Jul 05, 2017
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-16818?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16818?src=confmacro">HIVE-16818</a> | <a href="https://issues.apache.org/jira/browse/HIVE-16818?src=confmacro">“fixed” avro type is not handled properly with Hive HBase avro integration</a> |
-Unassigned
-|
-Swarnim Kulkarni
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Jun 02, 2017
-|
-Jun 02, 2017
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-15838?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15838?src=confmacro">HIVE-15838</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15838?src=confmacro">Escaping illegal characters allowed in HBase and disallowed in Hive DDL</a> |
-Unassigned
-|
-Davide Gesino
-| Minor |</p>
-<p>Open
-|
-Unresolved
-|
-Feb 07, 2017
-|
-Feb 07, 2017
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-15204?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15204?src=confmacro">HIVE-15204</a> | <a href="https://issues.apache.org/jira/browse/HIVE-15204?src=confmacro">Hive-Hbase integration thorws “java.lang.ClassNotFoundException: NULL::character varying” (Postgres)</a> |
-Unassigned
-|
-Anshuman
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Nov 15, 2016
-|
-Nov 16, 2016
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-13584?src=confmacro">Improvement</a> | <a href="https://issues.apache.org/jira/browse/HIVE-13584?src=confmacro">HIVE-13584</a> | <a href="https://issues.apache.org/jira/browse/HIVE-13584?src=confmacro">HBaseStorageHandler should support table pre-split</a> |
-Svetozar Ivanov
-|
-Svetozar Ivanov
-| Major |</p>
-<p>Patch Available
-|
-Unresolved
-|
-Apr 21, 2016
-|
-Feb 27, 2024
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-13315?src=confmacro">Improvement</a> | <a href="https://issues.apache.org/jira/browse/HIVE-13315?src=confmacro">HIVE-13315</a> | <a href="https://issues.apache.org/jira/browse/HIVE-13315?src=confmacro">Option to reuse existing restored HBase snapshots</a> |
-Sushanth Sowmyan
-|
-Liyin Tang
-| Major |</p>
-<p>Open
-|
-Unresolved
-|
-Mar 19, 2016
-|
-Mar 19, 2016
-| |
-| <a href="https://issues.apache.org/jira/browse/HIVE-11327?src=confmacro">Bug</a> | <a href="https://issues.apache.org/jira/browse/HIVE-11327?src=confmacro">HIVE-11327</a> | <a href="https://issues.apache.org/jira/browse/HIVE-11327?src=confmacro">HiveQL to HBase - Predicate Pushdown for composite key not working</a> |
-Unassigned
-|
-Yannik Zuehlke
-| Blocker |</p>
-<p>Open
-|
-Unresolved
-|
-Jul 21, 2015
-|
-Jul 26, 2015
-| |
-|</p>
+<table>
+<thead>
+<tr>
+<th>T</th>
+<th>Key</th>
+<th>Summary</th>
+<th>Assignee</th>
+<th>Reporter</th>
+<th>P</th>
+<th>Status</th>
+<th>Resolution</th>
+<th>Created</th>
+<th>Updated</th>
+<th>Due</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-27750?src=confmacro">Improvement</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-27750?src=confmacro">HIVE-27750</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-27750?src=confmacro">Use HBase’s TableMapReduceUtil.convertScanToString() API instead of using the method implementation.</a></td>
+<td>Dayakar M</td>
+<td>Dayakar M</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Sep 28, 2023</td>
+<td>Sep 28, 2023</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24833?src=confmacro">Improvement</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24833?src=confmacro">HIVE-24833</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24833?src=confmacro">Hive Uses Fetch Task For HBaseStorageHandler Scans</a></td>
+<td>Unassigned</td>
+<td>David Mollitor</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Feb 25, 2021</td>
+<td>Mar 08, 2021</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24706?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24706?src=confmacro">HIVE-24706</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24706?src=confmacro">Spark SQL access hive on HBase table access exception</a></td>
+<td>Unassigned</td>
+<td>zhangzhanchang</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Jan 30, 2021</td>
+<td>Jan 23, 2024</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24544?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24544?src=confmacro">HIVE-24544</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24544?src=confmacro">HBase Timestamp filter never gets converted to a timerange filter</a></td>
+<td>Unassigned</td>
+<td>Fabien Carrion</td>
+<td>Minor</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Dec 16, 2020</td>
+<td>Dec 16, 2020</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24418?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24418?src=confmacro">HIVE-24418</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24418?src=confmacro">there is an error “java.lang.IllegalArgumentException: No columns to insert” when the result data is empty</a></td>
+<td>Unassigned</td>
+<td>HuiyuZhou</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Nov 24, 2020</td>
+<td>Nov 25, 2020</td>
+<td>Nov 24, 2020</td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24407?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24407?src=confmacro">HIVE-24407</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-24407?src=confmacro">Unable to read data with Hbase snapshot set</a></td>
+<td>Unassigned</td>
+<td>Ayush Saxena</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Nov 20, 2020</td>
+<td>Nov 20, 2020</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21936?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21936?src=confmacro">HIVE-21936</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21936?src=confmacro">Snapshot inconsistency plan execution</a></td>
+<td>Unassigned</td>
+<td>Jean-Pierre Hoang</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Jun 30, 2019</td>
+<td>Jun 30, 2019</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21748?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21748?src=confmacro">HIVE-21748</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21748?src=confmacro">HBase Operations Can Fail When Using MAPREDLOCAL</a></td>
+<td>Unassigned</td>
+<td>David Mollitor</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>May 17, 2019</td>
+<td>Jun 03, 2019</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21277?src=confmacro">New Feature</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21277?src=confmacro">HIVE-21277</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21277?src=confmacro">Make HBaseSerde First-Class SerDe</a></td>
+<td>Unassigned</td>
+<td>David Mollitor</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Feb 15, 2019</td>
+<td>Feb 15, 2019</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21265?src=confmacro">Improvement</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21265?src=confmacro">HIVE-21265</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21265?src=confmacro">Hive miss-uses HBase HConnection object and that puts high load on Zookeeper</a></td>
+<td>Unassigned</td>
+<td>István Fajth</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Feb 13, 2019</td>
+<td>Feb 13, 2019</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21179?src=confmacro">Improvement</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21179?src=confmacro">HIVE-21179</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21179?src=confmacro">Move SampleHBaseKeyFactory* Into Main Code Line</a></td>
+<td>Unassigned</td>
+<td>David Mollitor</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Jan 29, 2019</td>
+<td>Jan 29, 2019</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21068?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21068?src=confmacro">HIVE-21068</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-21068?src=confmacro">hive table join hbase table return code 3</a></td>
+<td>Unassigned</td>
+<td>Baozhu Zhao</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Dec 26, 2018</td>
+<td>May 21, 2019</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16884?src=confmacro">Improvement</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16884?src=confmacro">HIVE-16884</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16884?src=confmacro">Replace the deprecated HBaseInterface with Table</a></td>
+<td>Aihua Xu</td>
+<td>Aihua Xu</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Jun 12, 2017</td>
+<td>Jun 12, 2017</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16883?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16883?src=confmacro">HIVE-16883</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16883?src=confmacro">HBaseStorageHandler Ignores Case for HBase Table Name</a></td>
+<td>Bing Li</td>
+<td>Shawn Weeks</td>
+<td>Minor</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Jun 12, 2017</td>
+<td>Jul 05, 2017</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16818?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16818?src=confmacro">HIVE-16818</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-16818?src=confmacro">“fixed” avro type is not handled properly with Hive HBase avro integration</a></td>
+<td>Unassigned</td>
+<td>Swarnim Kulkarni</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Jun 02, 2017</td>
+<td>Jun 02, 2017</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15838?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15838?src=confmacro">HIVE-15838</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15838?src=confmacro">Escaping illegal characters allowed in HBase and disallowed in Hive DDL</a></td>
+<td>Unassigned</td>
+<td>Davide Gesino</td>
+<td>Minor</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Feb 07, 2017</td>
+<td>Feb 07, 2017</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15204?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15204?src=confmacro">HIVE-15204</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-15204?src=confmacro">Hive-Hbase integration thorws “java.lang.ClassNotFoundException: NULL::character varying” (Postgres)</a></td>
+<td>Unassigned</td>
+<td>Anshuman</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Nov 15, 2016</td>
+<td>Nov 16, 2016</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-13584?src=confmacro">Improvement</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-13584?src=confmacro">HIVE-13584</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-13584?src=confmacro">HBaseStorageHandler should support table pre-split</a></td>
+<td>Svetozar Ivanov</td>
+<td>Svetozar Ivanov</td>
+<td>Major</td>
+<td>Patch Available</td>
+<td>Unresolved</td>
+<td>Apr 21, 2016</td>
+<td>Feb 27, 2024</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-13315?src=confmacro">Improvement</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-13315?src=confmacro">HIVE-13315</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-13315?src=confmacro">Option to reuse existing restored HBase snapshots</a></td>
+<td>Sushanth Sowmyan</td>
+<td>Liyin Tang</td>
+<td>Major</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Mar 19, 2016</td>
+<td>Mar 19, 2016</td>
+<td></td>
+</tr>
+<tr>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11327?src=confmacro">Bug</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11327?src=confmacro">HIVE-11327</a></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11327?src=confmacro">HiveQL to HBase - Predicate Pushdown for composite key not working</a></td>
+<td>Unassigned</td>
+<td>Yannik Zuehlke</td>
+<td>Blocker</td>
+<td>Open</td>
+<td>Unresolved</td>
+<td>Jul 21, 2015</td>
+<td>Jul 26, 2015</td>
+<td></td>
+</tr>
+</tbody>
+</table>
<p><a href="https://cwiki.apache.org/confluence/plugins/servlet/applinks/oauth/login-dance/authorize?applicationLinkID=5aa69414-a9e9-3523-82ec-879b028fb15b">Authenticate</a> to retrieve your issues</p>
-<p>|</p>
<p>Showing 20 out of
<a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project%20=%20HIVE%20AND%20component%20in%20%28%22HBase%20Handler%22%29%20and%20Resolution%20=%20unresolved&tempMax=1000&src=confmacro">80 issues</a></p>
<p> </p>
diff --git a/docs/latest/hive-1-2-release-status_55156189/index.html b/docs/latest/hive-1-2-release-status_55156189/index.html
index d6e0f35..f3d22be 100644
--- a/docs/latest/hive-1-2-release-status_55156189/index.html
+++ b/docs/latest/hive-1-2-release-status_55156189/index.html
@@ -171,12 +171,6 @@ ASF
<td>committed</td>
<td>thejas</td>
</tr>
-<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
-</tr>
</tbody>
</table>
<h1 id=committed-jiras-in-branch-12-for-121hahahugoshortcode-s0-hbhb><a href=https://hive.apache.org/docs/latest/committed-jiras-for-1-2-1_58851880/>Committed JIRAS in branch-1.2 for 1.2.1</a></h1>
@@ -196,28 +190,54 @@ ASF
<tbody>
<tr>
<td>HS2</td>
-<td></td>
-<td></td>
-<td></td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-6679?src=confmacro">HIVE-6679</a> - HiveServer2 should support configurable the server side socket timeout and keepalive for various transports types where applicable Patch Available</td>
+<td>Deferred to 1.3, needs more testing</td>
+<td>vgumashta</td>
+</tr>
+<tr>
+<td>Metastore upgrade</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-7018?src=confmacro">HIVE-7018</a> - Table and Partition tables have column LINK_TARGET_ID in Mysql scripts but not others Closed</td>
+<td>Deferred to 1.3, has schema changes</td>
+<td>hsubramaniyan</td>
+</tr>
+<tr>
+<td>Security</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9736?src=confmacro">HIVE-9736</a> - StorageBasedAuthProvider should batch namenode-calls where possible. Patch Available</td>
+<td>Deferred to 1.3, needs additional test fixes</td>
+<td>mithun</td>
+</tr>
+<tr>
+<td>Metastore</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10895?src=confmacro">HIVE-10895</a> - ObjectStore does not close Query objects in some calls, causing a potential leak in some metastore db resources Closed</td>
+<td>Deferred to 1.3, needs updates</td>
+<td>vgumashta</td>
</tr>
<tr>
-<td><a href="https://issues.apache.org/jira/browse/HIVE-6679?src=confmacro">HIVE-6679</a></td>
-<td></td>
-<td></td>
-<td></td>
+<td>Webhcat</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-11008?src=confmacro">HIVE-11008</a> - webhcat GET /jobs retries on getting job details from history server is too agressive Open</td>
+<td>Deferred to 1.3, still being discussed</td>
+<td>thejas</td>
+</tr>
+<tr>
+<td>Authorization</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10250?src=confmacro">HIVE-10250</a> - Optimize AuthorizationPreEventListener to reuse TableWrapper objects Open</td>
+<td>Deferred to 1.3, needs additional test fixes</td>
+<td>mithun</td>
+</tr>
+<tr>
+<td>ORC</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-10556?src=confmacro">HIVE-10556</a> - ORC PPD schema on read related changes Open</td>
+<td>Deferred to 1.3, still open</td>
+<td>gopalv</td>
+</tr>
+<tr>
+<td>orc</td>
+<td><a href="https://issues.apache.org/jira/browse/HIVE-9451?src=confmacro">ORC-12</a> - Add max size of column dictionaries to ORC metadata Open</td>
+<td>Deferred to 1.3, needs additional updates</td>
+<td>omalley</td>
</tr>
</tbody>
</table>
-<ul>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-<li></li>
-</ul>
<p> </p>
<p> </p>
<h1 id=committed-jiras-in-branch-12-for-120hahahugoshortcode-s1-hbhb><a href=https://hive.apache.org/docs/latest/committed-jiras-for-branch-1-2-0_56068523/>Committed JIRAS in branch-1.2 for 1.2.0</a></h1>
@@ -232,19 +252,14 @@ ASF
</thead>
<tbody>
<tr>
-<td></td>
+<td>It seems if you just paste the JIRA URL to the ticket, it will automatically display number, title and status Posted by ekoifman at Apr 24, 2015 20:51</td>
</tr>
<tr>
-<td>It seems if you just paste the JIRA URL to the ticket, it will automatically display number, title and status</td>
+<td>Very useful, Eugene!</td>
</tr>
</tbody>
</table>
-<p>Posted by ekoifman at Apr 24, 2015 20:51
-|
-|
-Very useful, Eugene!</p>
-<p>Posted by <a href=mailto:khorgath@gmail.com>khorgath@gmail.com</a> at Apr 24, 2015 20:54
-|</p>
+<p>Posted by <a href=mailto:khorgath@gmail.com>khorgath@gmail.com</a> at Apr 24, 2015 20:54</p>
</div>
</div>
<footer class="black-background static-bottom" style=padding:30px>
diff --git a/docs/latest/hive-aws-emr_27823791/index.html b/docs/latest/hive-aws-emr_27823791/index.html
index 8bf7ed5..aa07bbf 100644
--- a/docs/latest/hive-aws-emr_27823791/index.html
+++ b/docs/latest/hive-aws-emr_27823791/index.html
@@ -129,39 +129,158 @@ ASF
<p><a href=https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive.html>Getting Started</a></p>
<p>Amazon Elastic MapReduce provides you with multiple clients to run your Hive cluster. You can launch a Hive cluster using the AWS Management Console, the Amazon Elastic MapReduce Ruby Client, or the AWS Java SDK. You may also install and run multiple versions of Hive on the same cluster, allowing you to benchmark a newer Hive version alongside your previous version. You can also install a newer Hive version directly onto an existing Hive cluster.</p>
<h1 id=supported-versions>Supported versions:</h1>
-<p>| EMR Version | Hive Version |
-| emr-7.0.0 | 3.1.3 |
-| emr-6.15.0 | 3.1.3 |
-| emr-5.36.1 | 2.3.9 |</p>
+<table>
+<thead>
+<tr>
+<th></th>
+<th></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>EMR Version</td>
+<td>Hive Version</td>
+</tr>
+<tr>
+<td>emr-7.0.0</td>
+<td>3.1.3</td>
+</tr>
+<tr>
+<td>emr-6.15.0</td>
+<td>3.1.3</td>
+</tr>
+<tr>
+<td>emr-5.36.1</td>
+<td>2.3.9</td>
+</tr>
+</tbody>
+</table>
<h1 id=hive-defaults>Hive Defaults</h1>
<h2 id=thrift-communication-port>Thrift Communication port</h2>
-<p>| Hive Version | Thrift port |
-| 0.4 | 10000 |
-| 0.5 | 10000 |
-| 0.7 | 10001 |
-| 0.7.1 | 10002 |</p>
+<table>
+<thead>
+<tr>
+<th></th>
+<th></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Hive Version</td>
+<td>Thrift port</td>
+</tr>
+<tr>
+<td>0.4</td>
+<td>10000</td>
+</tr>
+<tr>
+<td>0.5</td>
+<td>10000</td>
+</tr>
+<tr>
+<td>0.7</td>
+<td>10001</td>
+</tr>
+<tr>
+<td>0.7.1</td>
+<td>10002</td>
+</tr>
+</tbody>
+</table>
<h2 id=log-file>Log File</h2>
-<p>| Hive Version | Log location |
-| 0.4 | /mnt/var/log/apps/hive.log |
-| 0.5 | /mnt/var/log/apps/hive_05.log |
-| 0.7 | /mnt/var/log/apps/hive_07.log |
-| 0.7.1 | /mnt/var/log/apps/hive_07_1.log |</p>
+<table>
+<thead>
+<tr>
+<th></th>
+<th></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Hive Version</td>
+<td>Log location</td>
+</tr>
+<tr>
+<td>0.4</td>
+<td>/mnt/var/log/apps/hive.log</td>
+</tr>
+<tr>
+<td>0.5</td>
+<td>/mnt/var/log/apps/hive_05.log</td>
+</tr>
+<tr>
+<td>0.7</td>
+<td>/mnt/var/log/apps/hive_07.log</td>
+</tr>
+<tr>
+<td>0.7.1</td>
+<td>/mnt/var/log/apps/hive_07_1.log</td>
+</tr>
+</tbody>
+</table>
<h1 id=metastore>MetaStore</h1>
<p>By default, Amazon Elastic MapReduce uses MySQL, preinstalled on the Master Node, for its Hive metastore. Alternatively, you can use the Amazon Relational Database Service (Amazon RDS) to ensure the metastore is persisted beyond the life of your cluster. This also allows you to share the metastore between multiple Hive clusters. Simply override the default location of the MySQL database to the external persistent storage location.</p>
<h1 id=hive-cli>Hive CLI</h1>
<p>EMR configures the master node to allow SSH access. You can log onto the master node and execute Hive commands using the Hive CLI. If you have multiple versions of Hive installed on the cluster you can access each one of them via a separate command:</p>
-<p>| Hive Version | Hive command |
-| 0.4 | hive |
-| 0.5 | hive-0.5 |
-| 0.7 | hive-0.7 |
-| 0.7.1 | hive-0.7.1 |</p>
+<table>
+<thead>
+<tr>
+<th></th>
+<th></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Hive Version</td>
+<td>Hive command</td>
+</tr>
+<tr>
+<td>0.4</td>
+<td>hive</td>
+</tr>
+<tr>
+<td>0.5</td>
+<td>hive-0.5</td>
+</tr>
+<tr>
+<td>0.7</td>
+<td>hive-0.7</td>
+</tr>
+<tr>
+<td>0.7.1</td>
+<td>hive-0.7.1</td>
+</tr>
+</tbody>
+</table>
<p>EMR sets up a separate Hive metastore and Hive warehouse for each installed Hive version on a given cluster. Hence, creating tables using one version does not interfere with the tables created using another version installed. Please note that if you point multiple Hive tables to same location, updates to one table become visible to other tables.</p>
<h1 id=hive-server>Hive Server</h1>
<p>EMR runs a Thrift Hive server on the master node of the Hive cluster. It can be accessed using any JDBC client (for example, squirrel SQL) via Hive JDBC drivers. The JDBC drivers for different Hive versions can be downloaded via the following links:</p>
-<p>| Hive Version | Hive JDBC |
-| 0.5 | <a href=http://aws.amazon.com/developertools/0196055244487017>http://aws.amazon.com/developertools/0196055244487017</a> |
-| 0.7 | <a href=http://aws.amazon.com/developertools/1818074809286277>http://aws.amazon.com/developertools/1818074809286277</a> |
-| 0.7.1 | <a href=http://aws.amazon.com/developertools/8084613472207189>http://aws.amazon.com/developertools/8084613472207189</a> |</p>
+<table>
+<thead>
+<tr>
+<th></th>
+<th></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>Hive Version</td>
+<td>Hive JDBC</td>
+</tr>
+<tr>
+<td>0.5</td>
+<td><a href=http://aws.amazon.com/developertools/0196055244487017>http://aws.amazon.com/developertools/0196055244487017</a></td>
+</tr>
+<tr>
+<td>0.7</td>
+<td><a href=http://aws.amazon.com/developertools/1818074809286277>http://aws.amazon.com/developertools/1818074809286277</a></td>
+</tr>
+<tr>
+<td>0.7.1</td>
+<td><a href=http://aws.amazon.com/developertools/8084613472207189>http://aws.amazon.com/developertools/8084613472207189</a></td>
+</tr>
+</tbody>
+</table>
<p>Here is the process to connect to the Hive Server using a JDBC driver:</p>
<p><a href=http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_Hive.html#HiveJDBCDriver>http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_Hive.html#HiveJDBCDriver</a></p>
<h1 id=running-batch-queries>Running Batch Queries</h1>
diff --git a/docs/latest/hive-configurations_283118321/index.html b/docs/latest/hive-configurations_283118321/index.html
index 6bdd609..b4c3735 100644
--- a/docs/latest/hive-configurations_283118321/index.html
+++ b/docs/latest/hive-configurations_283118321/index.html
@@ -128,16 +128,13 @@ ASF
</thead>
<tbody>
<tr>
-<td></td>
-<td></td>
-<td></td>
-<td></td>
+<td><code>hive.metastore.client.cache.v2.enabled</code></td>
+<td>true</td>
+<td>This property enabled a Caffaine Cache for Metastore client</td>
+<td>MetastoreConf</td>
</tr>
</tbody>
</table>
-<pre tabindex=0><code>hive.metastore.client.cache.v2.enabled
-</code></pre><p>| true | This property enabled a Caffaine Cache for Metastore client | MetastoreConf |
-| | | | |</p>
<p>More configs are in <a href=https://github.com/apache/hive/blob/master/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java>MetastoreConf.java</a> file</p>
</div>
</div>
diff --git a/docs/latest/hive-metadata-caching-proposal_69407514/index.html b/docs/latest/hive-metadata-caching-proposal_69407514/index.html
index 69876d6..7b33191 100644
--- a/docs/latest/hive-metadata-caching-proposal_69407514/index.html
+++ b/docs/latest/hive-metadata-caching-proposal_69407514/index.html
@@ -206,10 +206,37 @@ Closed</p>
<p>The major concern in this approach is how much memory the metastore cache will consume and how much latency at startup time to read all metastore objects (prewarm). For that, we did some quantitative experiments.</p>
<p>In our experiments, we adopted some memory optimizations discussed below, which is separating table/partition and storage descriptor. We only cache database/table/partition objects and not count column statistics/permanent functions/constraints. In our setting, the memory footprint is dominated by partition objects which aggregates to 58M (shown in the table below). This does not discount the fact that many strings can be interned and shared by multiple objects, which could save an ad [...]
<p> </p>
-<p>| object | count | Avg size (byte) |
-| table | 895 | 1576 |
-| partition | 97,863 | 591 |
-| storagedescriptor | 412 | 680 |</p>
+<table>
+<thead>
+<tr>
+<th></th>
+<th></th>
+<th></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>object</td>
+<td>count</td>
+<td>Avg size (byte)</td>
+</tr>
+<tr>
+<td>table</td>
+<td>895</td>
+<td>1576</td>
+</tr>
+<tr>
+<td>partition</td>
+<td>97,863</td>
+<td>591</td>
+</tr>
+<tr>
+<td>storagedescriptor</td>
+<td>412</td>
+<td>680</td>
+</tr>
+</tbody>
+</table>
<p> </p>
<p>If we have 6G memory reserved for metastore cache, we could afford 10,000,000 partition objects and which we think is enough for majority use cases. In case we are out of the memory boundary, we could switch to a non-cached metastore and don’t crash.</p>
<p>We also tested the prewarm time in the same setting. It takes metastore 25 seconds to load all databases/tables/partitions from MySql database. Note in slow database such as Azure, the number could be much bigger but we have not tested yet. Metastore would only open listening port after prewarm. All metastore client request will be rejected before prewarm is done.</p>
diff --git a/docs/latest/hive-metatool_55156221/index.html b/docs/latest/hive-metatool_55156221/index.html
index 9a53f3c..8b857a6 100644
--- a/docs/latest/hive-metatool_55156221/index.html
+++ b/docs/latest/hive-metatool_55156221/index.html
@@ -142,31 +142,35 @@ ASF
</thead>
<tbody>
<tr>
-<td></td>
-<td></td>
+<td><code>-listFSRoot</code></td>
+<td>Print the location of the current file system root (NameNode). The value is prefixed with <code>hdfs:// scheme</code>.</td>
+</tr>
+<tr>
+<td><code>-updateLocation <new-loc> <old-loc></code></td>
+<td>Update records in the Hive metastore to point to a new NameNode location (file system root location). Both <em>new-loc</em> and <em>old-loc</em> should be valid URIs with valid host names and schemes. For upgrading to HDFS HA NN, <em>new-loc</em> should match the value of the <code>dfs.nameservices</code> property. The <em>old-loc</em> should match the value returned by the <strong>listFSRoot</strong> option.When run with the <strong>dryRun</strong> option, changes are displayed but [...]
+</tr>
+<tr>
+<td><code>-serdePropKey <serde-prop-key></code></td>
+<td>Specify a SerDe property key whose value field may reference the HDFS NameNode location and hence may require an update. For example to update the Haivvero schema URL, specify schema.url for this argument.This option is valid only with the <strong>updateLocation</strong> option.</td>
+</tr>
+<tr>
+<td><code>-tablePropKey <table-prop-key></code></td>
+<td>Specify a table property key whose value field may reference the HDFS NameNode location and hence may require an update. For example to update the Avro SerDe schema URL, specify avro.schema.url for this argument.This option is valid only with the <strong>updateLocation</strong> option.</td>
+</tr>
+<tr>
+<td><code>-dryRun</code></td>
+<td>Perform a dry run of <strong>updateLocation</strong> changes. The <strong>updateLocation</strong> changes are displayed but not persisted.This option is valid only with the <strong>updateLocation</strong> option.</td>
+</tr>
+<tr>
+<td><code>-executeJDOQL <query-string></code></td>
+<td>Execute the given JDOQL query.</td>
+</tr>
+<tr>
+<td><code>-help</code></td>
+<td>Print a list of command options and their descriptions.</td>
</tr>
</tbody>
</table>
-<pre tabindex=0><code>-listFSRoot
-</code></pre><p>| Print the location of the current file system root (NameNode). The value is prefixed with <code>hdfs:// scheme</code>. |
-|</p>
-<pre tabindex=0><code>-updateLocation <new-loc> <old-loc>
-</code></pre><p>| Update records in the Hive metastore to point to a new NameNode location (file system root location). Both <em>new-loc</em> and <em>old-loc</em> should be valid URIs with valid host names and schemes. For upgrading to HDFS HA NN, <em>new-loc</em> should match the value of the <code>dfs.nameservices</code> property. The <em>old-loc</em> should match the value returned by the <strong>listFSRoot</strong> option.When run with the <strong>dryRun</strong> option, changes are [...]
-|</p>
-<pre tabindex=0><code>-serdePropKey <serde-prop-key>
-</code></pre><p>| Specify a SerDe property key whose value field may reference the HDFS NameNode location and hence may require an update. For example to update the Haivvero schema URL, specify schema.url for this argument.This option is valid only with the <strong>updateLocation</strong> option. |
-|</p>
-<pre tabindex=0><code>-tablePropKey <table-prop-key>
-</code></pre><p>| Specify a table property key whose value field may reference the HDFS NameNode location and hence may require an update. For example to update the Avro SerDe schema URL, specify avro.schema.url for this argument.This option is valid only with the <strong>updateLocation</strong> option. |
-|</p>
-<pre tabindex=0><code>-dryRun
-</code></pre><p>| Perform a dry run of <strong>updateLocation</strong> changes. The <strong>updateLocation</strong> changes are displayed but not persisted.This option is valid only with the <strong>updateLocation</strong> option. |
-|</p>
-<pre tabindex=0><code>-executeJDOQL <query-string>
-</code></pre><p>| Execute the given JDOQL query. |
-|</p>
-<pre tabindex=0><code>-help
-</code></pre><p>| Print a list of command options and their descriptions. |</p>
<p>If you are unsure which version of Avro SerDe is used, pass both <strong>serdePropKey</strong> and <strong>tablePropKey</strong> arguments with their respective values for the keys to <strong>updateLocation</strong>.</p>
<p>Hive Configuration Directory</p>
<p>Note that <code>metatool</code> is a command for Hive administrators and it needs direct access to the metastore RDBMS. In some environments, the RDBMS login information (especially password or the password key) is only stored on the metastore server host or in a metastore server specific config directory (with more restrictive file system permissions). In such cases, make sure you run on the metastore server machine, as the hive user, and also set the HIVE_CONF_DIR environment variab [...]
diff --git a/docs/latest/hive-transactions_40509723/index.html b/docs/latest/hive-transactions_40509723/index.html
index c68032f..8e1d827 100644
--- a/docs/latest/hive-transactions_40509723/index.html
+++ b/docs/latest/hive-transactions_40509723/index.html
@@ -249,40 +249,203 @@ drwxr-xr-x - ekoifman staff 0 2016-06-09 17:07 /user/hive/warehouse/t
<p>The following sections list all of the configuration parameters that affect Hive transactions and compaction. Also see <a href=#limitations>Limitations</a> above and <a href=#table-properties>Table Properties</a> below.</p>
<h3 id=new-configuration-parameters-for-transactions>New Configuration Parameters for Transactions</h3>
<p>A number of new configuration parameters have been added to the system to support transactions.</p>
-<p>| <strong>Configuration key</strong> | <strong>Values</strong> | <strong>Location</strong> | <strong>Notes</strong> |
-| <a href=#hive-txn-manager>hive.txn.manager</a> | <em>Default:</em> org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager<em>Value required for transactions:</em> org.apache.hadoop.hive.ql.lockmgr.DbTxnManager | Client/HiveServer2 | DummyTxnManager replicates pre Hive-0.13 behavior and provides no transactions. |
-| <a href=#hive-txn-strict-locking-mode>hive.txn.strict.locking.mode</a> | <em>Default:</em> true | Client/ HiveServer2 | In strict mode non-ACID resources use standard R/W lock semantics, e.g. INSERT will acquire exclusive lock. In non-strict mode, for non-ACID resources, INSERT will only acquire shared lock, which allows two concurrent writes to the same partition but still lets lock manager prevent DROP TABLE etc. when the table is being written to (as of <a href=https://issues.apache [...]
-| <a href=#hive-txn-timeout>hive.txn.timeout</a> | <em>Default:</em> 300 | Client/HiveServer2/Metastore | Time after which transactions are declared aborted if the client has not sent a heartbeat, in seconds. It’s critical that this property has the same value for all components/services.5 |
-| <a href=https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-hive.txn.heartbeat.threadpool.size>hive.txn.heartbeat.threadpool.size</a> | <em>Default:</em> 5 | Client/HiveServer2 | The number of threads to use for heartbeating (as of <a href=https://issues.apache.org/jira/browse/HIVE-12366>Hive 1.3.0 and 2.0.0</a>). |
-| <a href=#hive-timedout-txn-reaper-start>hive.timedout.txn.reaper.start</a> | <em>Default:</em> 100s | Metastore | Time delay of first reaper (the process which aborts timed-out transactions) run after the metastore starts (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above. |
-| <a href=#hive-timedout-txn-reaper-interval>hive.timedout.txn.reaper.interval</a> | <em>Default:</em> 180s | Metastore | Time interval describing how often the reaper (the process which aborts timed-out transactions) runs (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above. |
-| <a href=#hive-txn-max-open-batch>hive.txn.max.open.batch</a> | <em>Default:</em> 1000 | Client | Maximum number of transactions that can be fetched in one call to open_txns().1 |
-| <a href=#hive-max-open-txns>hive.max.open.txns</a> | <em>Default:</em> 100000 | HiveServer2/ Metastore | Maximum number of open transactions. If current open transactions reach this limit, future open transaction requests will be rejected, until the number goes below the limit. (As of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>.) |
-| <a href=#hive-count-open-txns-interval>hive.count.open.txns.interval</a> | <em>Default:</em> 1s | HiveServer2/ Metastore | Time in seconds between checks to count open transactions (as of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>). |
-| <a href=#hive-txn-retryable-sqlex-regex>hive.txn.retryable.sqlex.regex</a> | <em>Default:</em> "" (empty string) | HiveServer2/ Metastore | Comma separated list of regular expression patterns for SQL state, error code, and error message of retryable SQLExceptions, that’s suitable for the Hive metastore database (as of <a href=https://issues.apache.org/jira/browse/HIVE-12637>Hive 1.3.0 and 2.1.0</a>).For an example, see <a href=#configuration-properties>Configuration Properties</a>. |
-| <a href=#hive-compactor-initiator-on>hive.compactor.initiator.on</a> | <em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service) | Metastore | Whether to run the initiator thread on this metastore instance. Prior to <a href=https://issues.apache.org/jira/browse/HIVE-11388>Hive 1.3.0</a> it’s critical that this is enabled on exactly one standalone metastore service instance (not enforced yet).As of <a href=http [...]
-| <a href=#hive-compactor-cleaner-on>hive.compactor.cleaner.on</a> | <em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service) | Metastore | Whether to run the cleaner thread on this metastore instance. Before <strong>Hive 4.0.0</strong> Cleaner thread can be started/stopped with config hive.compactor.initiator.on. This config helps to enable/disable initiator/cleaner threads independently |
-| <a href=#hive-compactor-worker-threads>hive.compactor.worker.threads</a> | <em>Default:</em> 0<em>Value required for transactions:</em> > 0 on at least one instance of the Thrift metastore service | Metastore | How many compactor worker threads to run on this metastore instance.2 |
-| <a href=#hive-compactor-worker-timeout>hive.compactor.worker.timeout</a> | <em>Default:</em> 86400 | Metastore | Time in seconds after which a compaction job will be declared failed and the compaction re-queued. |
-| <a href=#hive-compactor-cleaner-run-interval>hive.compactor.cleaner.run.interval</a> | <em>Default</em>: 5000 | Metastore | Time in milliseconds between runs of the cleaner thread. (<a href=https://issues.apache.org/jira/browse/HIVE-8258>Hive 0.14.0</a> and later.) |
-| <a href=#hive-compactor-check-interval>hive.compactor.check.interval</a> | <em>Default:</em> 300 | Metastore | Time in seconds between checks to see if any tables or partitions need to be compacted.3 |
-| <a href=#hive-compactor-delta-num-threshold>hive.compactor.delta.num.threshold</a> | <em>Default:</em> 10 | Metastore | Number of delta directories in a table or partition that will trigger a minor compaction. |
-| <a href=#hive-compactor-delta-pct-threshold>hive.compactor.delta.pct.threshold</a> | <em>Default:</em> 0.1 | Metastore | Percentage (fractional) size of the delta files relative to the base that will trigger a major compaction. 1 = 100%, so the default 0.1 = 10%. |
-| <a href=#hive-compactor-abortedtxn-threshold>hive.compactor.abortedtxn.threshold</a> | <em>Default:</em> 1000 | Metastore | Number of aborted transactions involving a given table or partition that will trigger a major compaction. |
-| <a href=#hive-compactor-aborted-txn-time-threshold>hive.compactor.aborted.txn.time.threshold</a> | <em>Default</em>: 12h | Metastore | Age of table/partition’s oldest aborted transaction when compaction will be triggered. Default time unit is: hours. Set to a negative number to disable. |
-| <a href=#hive-compactor-max-num-delta>hive.compactor.max.num.delta</a> | Default: 500 | Metastore | Maximum number of delta files that the compactor will attempt to handle in a single job (as of <a href=https://issues.apache.org/jira/browse/HIVE-11540>Hive 1.3.0</a>).4 |
-| <a href=#hive-compactor-job-queue>hive.compactor.job.queue</a> | <em>Default</em>: "" (empty string) | Metastore | Used to specify name of Hadoop queue to which Compaction jobs will be submitted. Set to empty string to let Hadoop choose the queue (as of <a href=https://issues.apache.org/jira/browse/HIVE-11997>Hive 1.3.0</a>). |
-| Compaction History |
-| hive.compactor.history.retention.succeeded | <em>Default: 3</em> | Metastore | Number of successful compaction entries to retain in history (per partition). |
-| hive.compactor.history.retention.failed | <em>Default: 3</em> | Metastore | Number of failed compaction entries to retain in history (per partition). |
-| hive.compactor.history.retention.attempted | <em>Default: 2</em> | Metastore | Number of attempted compaction entries to retain in history (per partition). |
-| hive.compactor.initiator.failed.compacts.threshold | <em>Default: 2</em> | Metastore | Number of of consecutive failed compactions for a given partition after which the Initiator will stop attempting to schedule compactions automatically. It is still possible to use <a href=https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/PartitionCompact>ALTER TABLE</a> to initiate compaction. Once a manually initiated compaction succeeds auto initiated [...]
-| hive.compactor.history.reaper.interval | <em>Default: 2m</em> | Metastore | Controls how often the process to purge historical record of compactions runs. |</p>
-<p>1hive.txn.max.open.batch controls how many transactions streaming agents such as Flume or Storm open simultaneously. The streaming agent then writes that number of entries into a single file (per Flume agent or Storm bolt). Thus increasing this value decreases the number of delta files created by streaming agents. But it also increases the number of open transactions that Hive has to track at any given time, which may negatively affect read performance.</p>
-<p> 2Worker threads spawn MapReduce jobs to do compactions. They do not do the compactions themselves. Increasing the number of worker threads will decrease the time it takes tables or partitions to be compacted once they are determined to need compaction. It will also increase the background load on the Hadoop cluster as more MapReduce jobs will be running in the background. Each compaction can handle one partition at a time (or whole table if it’s unpartitioned). </p>
-<p>3Decreasing this value will reduce the time it takes for compaction to be started for a table or partition that requires compaction. However, checking if compaction is needed requires several calls to the NameNode for each table or partition that has had a transaction done on it since the last major compaction. So decreasing this value will increase the load on the NameNode.</p>
-<p>4If the compactor detects a very high number of delta files, it will first run several partial minor compactions (currently sequentially) and then perform the compaction actually requested.</p>
-<p>5If the value is not the same active transactions may be determined to be “timed out” and consequently Aborted. This will result in errors like “No such transaction…”, “No such lock …”</p>
+<table>
+<thead>
+<tr>
+<th><strong>Configuration key</strong></th>
+<th><strong>Values</strong></th>
+<th><strong>Location</strong></th>
+<th><strong>Notes</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><a href=#hive-txn-manager>hive.txn.manager</a> </td>
+<td><em>Default:</em> org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager<em>Value required for transactions:</em> org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</td>
+<td>Client/HiveServer2</td>
+<td>DummyTxnManager replicates pre Hive-0.13 behavior and provides no transactions.</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-strict-locking-mode>hive.txn.strict.locking.mode</a></td>
+<td><em>Default:</em> true</td>
+<td>Client/ HiveServer2</td>
+<td>In strict mode non-ACID resources use standard R/W lock semantics, e.g. INSERT will acquire exclusive lock. In non-strict mode, for non-ACID resources, INSERT will only acquire shared lock, which allows two concurrent writes to the same partition but still lets lock manager prevent DROP TABLE etc. when the table is being written to (as of <a href=https://issues.apache.org/jira/browse/HIVE-15774>Hive 2.2.0</a>).</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-timeout>hive.txn.timeout</a> </td>
+<td><em>Default:</em> 300</td>
+<td>Client/HiveServer2/Metastore </td>
+<td>Time after which transactions are declared aborted if the client has not sent a heartbeat, in seconds. It’s critical that this property has the same value for all components/services.5</td>
+</tr>
+<tr>
+<td><a href=https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties#ConfigurationProperties-hive.txn.heartbeat.threadpool.size>hive.txn.heartbeat.threadpool.size</a></td>
+<td><em>Default:</em> 5</td>
+<td>Client/HiveServer2</td>
+<td>The number of threads to use for heartbeating (as of <a href=https://issues.apache.org/jira/browse/HIVE-12366>Hive 1.3.0 and 2.0.0</a>).</td>
+</tr>
+<tr>
+<td><a href=#hive-timedout-txn-reaper-start>hive.timedout.txn.reaper.start</a></td>
+<td><em>Default:</em> 100s</td>
+<td>Metastore</td>
+<td>Time delay of first reaper (the process which aborts timed-out transactions) run after the metastore starts (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above.</td>
+</tr>
+<tr>
+<td><a href=#hive-timedout-txn-reaper-interval>hive.timedout.txn.reaper.interval</a></td>
+<td><em>Default:</em> 180s</td>
+<td>Metastore</td>
+<td>Time interval describing how often the reaper (the process which aborts timed-out transactions) runs (as of <a href=https://issues.apache.org/jira/browse/HIVE-11317>Hive 1.3.0</a>). Controls AcidHouseKeeperServcie above.</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-max-open-batch>hive.txn.max.open.batch</a></td>
+<td><em>Default:</em> 1000</td>
+<td>Client</td>
+<td>Maximum number of transactions that can be fetched in one call to open_txns().1</td>
+</tr>
+<tr>
+<td><a href=#hive-max-open-txns>hive.max.open.txns</a></td>
+<td><em>Default:</em> 100000</td>
+<td>HiveServer2/ Metastore</td>
+<td>Maximum number of open transactions. If current open transactions reach this limit, future open transaction requests will be rejected, until the number goes below the limit. (As of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>.)</td>
+</tr>
+<tr>
+<td><a href=#hive-count-open-txns-interval>hive.count.open.txns.interval</a></td>
+<td><em>Default:</em> 1s</td>
+<td>HiveServer2/ Metastore</td>
+<td>Time in seconds between checks to count open transactions (as of <a href=https://issues.apache.org/jira/browse/HIVE-13249>Hive 1.3.0 and 2.1.0</a>).</td>
+</tr>
+<tr>
+<td><a href=#hive-txn-retryable-sqlex-regex>hive.txn.retryable.sqlex.regex</a></td>
+<td><em>Default:</em> "" (empty string)</td>
+<td>HiveServer2/ Metastore</td>
+<td>Comma separated list of regular expression patterns for SQL state, error code, and error message of retryable SQLExceptions, that’s suitable for the Hive metastore database (as of <a href=https://issues.apache.org/jira/browse/HIVE-12637>Hive 1.3.0 and 2.1.0</a>).For an example, see <a href=#configuration-properties>Configuration Properties</a>.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-initiator-on>hive.compactor.initiator.on</a></td>
+<td><em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service)</td>
+<td>Metastore</td>
+<td>Whether to run the initiator thread on this metastore instance. Prior to <a href=https://issues.apache.org/jira/browse/HIVE-11388>Hive 1.3.0</a> it’s critical that this is enabled on exactly one standalone metastore service instance (not enforced yet).As of <a href=https://issues.apache.org/jira/browse/HIVE-11388>Hive 1.3.0</a> this property may be enabled on any number of standalone metastore instances.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-cleaner-on>hive.compactor.cleaner.on</a></td>
+<td><em>Default:</em> false<em>Value required for transactions:</em> true (for exactly one instance of the Thrift metastore service)</td>
+<td>Metastore</td>
+<td>Whether to run the cleaner thread on this metastore instance. Before <strong>Hive 4.0.0</strong> Cleaner thread can be started/stopped with config hive.compactor.initiator.on. This config helps to enable/disable initiator/cleaner threads independently</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-worker-threads>hive.compactor.worker.threads</a></td>
+<td><em>Default:</em> 0<em>Value required for transactions:</em> > 0 on at least one instance of the Thrift metastore service</td>
+<td>Metastore</td>
+<td>How many compactor worker threads to run on this metastore instance.2</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-worker-timeout>hive.compactor.worker.timeout</a></td>
+<td><em>Default:</em> 86400</td>
+<td>Metastore</td>
+<td>Time in seconds after which a compaction job will be declared failed and the compaction re-queued.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-cleaner-run-interval>hive.compactor.cleaner.run.interval</a></td>
+<td><em>Default</em>: 5000</td>
+<td>Metastore</td>
+<td>Time in milliseconds between runs of the cleaner thread. (<a href=https://issues.apache.org/jira/browse/HIVE-8258>Hive 0.14.0</a> and later.)</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-check-interval>hive.compactor.check.interval</a></td>
+<td><em>Default:</em> 300</td>
+<td>Metastore</td>
+<td>Time in seconds between checks to see if any tables or partitions need to be compacted.3</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-delta-num-threshold>hive.compactor.delta.num.threshold</a></td>
+<td><em>Default:</em> 10</td>
+<td>Metastore</td>
+<td>Number of delta directories in a table or partition that will trigger a minor compaction.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-delta-pct-threshold>hive.compactor.delta.pct.threshold</a></td>
+<td><em>Default:</em> 0.1</td>
+<td>Metastore</td>
+<td>Percentage (fractional) size of the delta files relative to the base that will trigger a major compaction. 1 = 100%, so the default 0.1 = 10%.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-abortedtxn-threshold>hive.compactor.abortedtxn.threshold</a></td>
+<td><em>Default:</em> 1000</td>
+<td>Metastore</td>
+<td>Number of aborted transactions involving a given table or partition that will trigger a major compaction.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-aborted-txn-time-threshold>hive.compactor.aborted.txn.time.threshold</a></td>
+<td><em>Default</em>: 12h</td>
+<td>Metastore</td>
+<td>Age of table/partition’s oldest aborted transaction when compaction will be triggered. Default time unit is: hours. Set to a negative number to disable.</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-max-num-delta>hive.compactor.max.num.delta</a></td>
+<td>Default: 500</td>
+<td>Metastore</td>
+<td>Maximum number of delta files that the compactor will attempt to handle in a single job (as of <a href=https://issues.apache.org/jira/browse/HIVE-11540>Hive 1.3.0</a>).4</td>
+</tr>
+<tr>
+<td><a href=#hive-compactor-job-queue>hive.compactor.job.queue</a></td>
+<td><em>Default</em>: "" (empty string)</td>
+<td> Metastore</td>
+<td> Used to specify name of Hadoop queue to which Compaction jobs will be submitted. Set to empty string to let Hadoop choose the queue (as of <a href=https://issues.apache.org/jira/browse/HIVE-11997>Hive 1.3.0</a>).</td>
+</tr>
+<tr>
+<td>Compaction History</td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+<tr>
+<td>hive.compactor.history.retention.succeeded</td>
+<td><em>Default: 3</em></td>
+<td>Metastore</td>
+<td>Number of successful compaction entries to retain in history (per partition).</td>
+</tr>
+<tr>
+<td>hive.compactor.history.retention.failed</td>
+<td><em>Default: 3</em></td>
+<td>Metastore</td>
+<td>Number of failed compaction entries to retain in history (per partition).</td>
+</tr>
+<tr>
+<td>hive.compactor.history.retention.attempted</td>
+<td><em>Default: 2</em></td>
+<td>Metastore</td>
+<td>Number of attempted compaction entries to retain in history (per partition).</td>
+</tr>
+<tr>
+<td>hive.compactor.initiator.failed.compacts.threshold</td>
+<td><em>Default: 2</em></td>
+<td>Metastore</td>
+<td>Number of of consecutive failed compactions for a given partition after which the Initiator will stop attempting to schedule compactions automatically. It is still possible to use <a href=https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/PartitionCompact>ALTER TABLE</a> to initiate compaction. Once a manually initiated compaction succeeds auto initiated compactions will resume. Note that this must be less than hive.compactor.history.rete [...]
+</tr>
+<tr>
+<td>hive.compactor.history.reaper.interval</td>
+<td><em>Default: 2m</em></td>
+<td>Metastore</td>
+<td>Controls how often the process to purge historical record of compactions runs.</td>
+</tr>
+</tbody>
+</table>
+<ol>
+<li>
+<p>hive.txn.max.open.batch controls how many transactions streaming agents such as Flume or Storm open simultaneously. The streaming agent then writes that number of entries into a single file (per Flume agent or Storm bolt). Thus increasing this value decreases the number of delta files created by streaming agents. But it also increases the number of open transactions that Hive has to track at any given time, which may negatively affect read performance.</p>
+</li>
+<li>
+<p>Worker threads spawn MapReduce jobs to do compactions. They do not do the compactions themselves. Increasing the number of worker threads will decrease the time it takes tables or partitions to be compacted once they are determined to need compaction. It will also increase the background load on the Hadoop cluster as more MapReduce jobs will be running in the background. Each compaction can handle one partition at a time (or whole table if it’s unpartitioned). </p>
+</li>
+<li>
+<p>Decreasing this value will reduce the time it takes for compaction to be started for a table or partition that requires compaction. However, checking if compaction is needed requires several calls to the NameNode for each table or partition that has had a transaction done on it since the last major compaction. So decreasing this value will increase the load on the NameNode.</p>
+</li>
+<li>
+<p>If the compactor detects a very high number of delta files, it will first run several partial minor compactions (currently sequentially) and then perform the compaction actually requested.</p>
+</li>
+<li>
+<p>If the value is not the same active transactions may be determined to be “timed out” and consequently Aborted. This will result in errors like “No such transaction…”, “No such lock …”</p>
+</li>
+</ol>
<h3 id=configuration-values-to-set-forinsert-update-delete>Configuration Values to Set for <em>INSERT, UPDATE, DELETE</em></h3>
<p>In addition to the new parameters listed above, some existing parameters need to be set to support *INSERT … VALUES, UPDATE,*and <em>DELETE</em>.</p>
<table>
diff --git a/docs/latest/hive-udfs_282102277/index.html b/docs/latest/hive-udfs_282102277/index.html
index 1fb0a2f..7c819c4 100644
--- a/docs/latest/hive-udfs_282102277/index.html
+++ b/docs/latest/hive-udfs_282102277/index.html
@@ -154,591 +154,1027 @@ ASF
<tbody>
<tr>
<td><strong>bigint</strong></td>
+<td><code>count(*)</code> <code>count(expr)</code> <code>count(DISTINCT expr[, expr...])</code></td>
+<td>count(*) - Returns the total number of retrieved rows, including rows containing NULL values.count(expr) - Returns the number of rows for which the supplied expression is non-NULL.count(DISTINCT expr[, expr]) - Returns the number of rows for which the supplied expression(s) are unique and non-NULL. Execution of this can be optimized with <a href=#hive-optimize-distinct-rewrite>hive.optimize.distinct.rewrite</a>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCount.java>GenericUDAFCount</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>sum(col), sum(DISTINCT col)</code></td>
+<td>Returns the sum of the elements in the group or the sum of the distinct values of the column in the group. MODIFIED</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java>GenericUDAFSum</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>avg(col), avg(DISTINCT col)</code></td>
+<td>Returns the average of the elements in the group or the average of the distinct values of the column in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFAverage.java>GenericUDAFAverage</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>min(col)</code></td>
+<td>Returns the minimum of the column in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMin.java>GenericUDAFMin</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>max(col)</code></td>
+<td>Returns the maximum value of the column in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java>GenericUDAFMax</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>variance(col), var\_pop(col)</code></td>
+<td>Returns the variance of a numeric column in the group. MODIFIED</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFVariance.java>GenericUDAFVariance</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>var\_samp(col)</code></td>
+<td>Returns the unbiased sample variance of a numeric column in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFVarianceSample.java>GenericUDAFVarianceSample</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>stddev\_pop(col)</code></td>
+<td>Returns the standard deviation of a numeric column in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFStd.java>GenericUDAFStd</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>stddev\_samp(col)</code></td>
+<td>Returns the unbiased sample standard deviation of a numeric column in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFStdSample.java>GenericUDAFStdSample</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>covar\_pop(col1, col2)</code></td>
+<td>Returns the population covariance of a pair of numeric columns in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCovariance.java>GenericUDAFCovariance</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>covar\_samp(col1, col2)</code></td>
+<td>Returns the sample covariance of a pair of numeric columns in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCovarianceSample.java>GenericUDAFCovarianceSample</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>corr(col1, col2)</code></td>
+<td>Returns the Pearson coefficient of correlation of a pair of numeric columns in the group.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCorrelation.java>GenericUDAFCorrelation</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>percentile(bigint col, p)</code></td>
+<td>Returns the exact pth percentile of a column in the group (does not work with floating point types). p must be between 0 and 1. NOTE: A true percentile can only be computed for integer values. Use PERCENTILE_APPROX if your input is non-integral.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDAFPercentile.java>UDAFPercentile</a></td>
+</tr>
+<tr>
+<td><strong>array</strong></td>
+<td><code>percentile(bigint col, array(p1 [, p2]...))</code></td>
+<td>Returns the exact percentiles p1, p2, … of a column in the group (does not work with floating point types). pi must be between 0 and 1. NOTE: A true percentile can only be computed for integer values. Use PERCENTILE_APPROX if your input is non-integral.</td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>percentile\_approx(double col, p [, B])</code></td>
+<td>Returns an approximate pth percentile of a numeric column (including floating point types) in the group. The B parameter controls approximation accuracy at the cost of memory. Higher values yield better approximations, and the default is 10,000. When the number of distinct values in col is smaller than B, this gives an exact percentile value.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFPercentileApprox.java>GenericUDAFPercentileApprox</a></td>
+</tr>
+<tr>
+<td><strong>array</strong></td>
+<td><code>percentile\_approx(double col, array(p1 [, p2]...) [, B])</code></td>
+<td>Same as above, but accepts and returns an array of percentile values instead of a single one.</td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_avgx(independent, dependent)</code></td>
+<td>Equivalent to avg(dependent). </td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_avgy(independent, dependent)</code></td>
+<td>Equivalent to avg(independent). </td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_count(independent, dependent)</code></td>
+<td>Returns the number of non-null pairs used to fit the linear regression line. </td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_intercept(independent, dependent)</code></td>
+<td>Returns the y-intercept of the <a href=https://en.wikipedia.org/wiki/Linear_regression>linear regression line</a>, i.e. the value of b in the equation dependent = a * independent + b.</td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_r2(independent, dependent)</code></td>
+<td>Returns the <a href=https://en.wikipedia.org/wiki/Coefficient_of_determination>coefficient of determination</a> for the regression. </td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_slope(independent, dependent)</code></td>
+<td>Returns the slope of the <a href=https://en.wikipedia.org/wiki/Linear_regression>linear regression line</a>, i.e. the value of an in the equation dependent = a * independent + b. </td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_sxx(independent, dependent)</code></td>
+<td>Equivalent to regr_count(independent, dependent) * var_pop(dependent). </td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_sxy(independent, dependent)</code></td>
+<td>Equivalent to regr_count(independent, dependent) * covar_pop(independent, dependent). </td>
+<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>regr\_syy(independent, dependent)</code></td>
+<td>Equivalent to regr_count(independent, dependent) * var_pop(independent).</td>
+<td></td>
+</tr>
+<tr>
+<td><strong>array<struct {<code>'x','y'</code>}></strong></td>
+<td><code>histogram\_numeric(col, b)</code></td>
+<td>Computes a histogram of a numeric column in the group using b non-uniformly spaced bins. The output is an array of size b of double-valued (x,y) coordinates that represent the bin centers and heights</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFHistogramNumeric.java>GenericUDAFHistogramNumeric</a></td>
+</tr>
+<tr>
+<td><strong>array</strong></td>
+<td><code>collect\_set(col)</code></td>
+<td>Returns a set of objects with duplicate elements eliminated.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCollectSet.java>GenericUDAFCollectSet</a></td>
+</tr>
+<tr>
+<td><strong>array</strong></td>
+<td><code>collect\_list(col)</code></td>
+<td>Returns a list of objects with duplicates. </td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCollectList.java>GenericUDAFCollectList</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>ntile(integer x)</code></td>
+<td>Divides an ordered partition into <code>x</code> groups called buckets and assign a bucket number to each row in the partition. This allows easy calculation of tertiles, quartiles, deciles, percentiles, and other common summary statistics.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFNTile.java>GenericUDAFNTile</a></td>
+</tr>
+</tbody>
+</table>
+<p>Most of the UDAFs ignore NULL values. </p>
+<h3 id=built-in-table-generating-functions-udtf>Built-in Table-Generating Functions (UDTF)</h3>
+<p>Normal user-defined functions, such as concat(), take in a single input row and output a single output row. In contrast, table-generating functions transform a single input row into multiple output rows. UDTF is one of the most advanced functions.</p>
+<table>
+<thead>
+<tr>
+<th><strong>Row-set columns types</strong></th>
+<th><strong>Name(Signature)</strong></th>
+<th><strong>Description</strong></th>
+<th><strong>Source Code</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><strong>T</strong></td>
+<td><code>explode(ARRAY<T> a)</code></td>
+<td>Explodes an array to multiple rows. Returns a row-set with a single column (<em>col</em>), one row for each element from the array.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFExplode.java>GenericUDTFExplode</a></td>
+</tr>
+<tr>
+<td><strong>Tkey,Tvalue</strong></td>
+<td><code>explode(MAP<Tkey,Tvalue> m)</code></td>
+<td>Explodes a map to multiple rows. Returns a row-set with two columns (<em>key,value)</em> , one row for each key-value pair from the input map.</td>
+<td></td>
+</tr>
+<tr>
+<td><strong>int,T</strong></td>
+<td><code>posexplode(ARRAY<T> a)</code></td>
+<td>Explodes an array to multiple rows with an additional positional column ofint type (position of items in the original array, starting with 0). Returns a row-set with two columns (<em>pos,val</em>), one row for each element from the array.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFPosExplode.java>GenericUDTFPosExplode</a></td>
+</tr>
+<tr>
+<td><strong>T1,…,Tn</strong></td>
+<td><code>inline(ARRAY<STRUCT<f1:T1,...,fn:Tn>> a)</code></td>
+<td>Explodes an array of structs to multiple rows. Returns a row-set with N columns (N = number of top level elements in the struct), one row per struct from the array.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFInline.java>GenericUDTFInline</a></td>
+</tr>
+<tr>
+<td><strong>T1,…,Tn/r</strong></td>
+<td><code>stack(int r,T1 V1,...,Tn/r Vn)</code></td>
+<td>Breaks up <em>n</em> values V1,…,Vninto <em>r</em> rows. Each row will have <em>n/r</em> columns. <em>r</em> must be constant.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFStack.java>GenericUDTFStack</a></td>
+</tr>
+<tr>
+<td><strong>string1,…,stringn</strong></td>
+<td><code>json\_tuple(string jsonStr, string k1,...,string kn)</code></td>
+<td>Takes JSON string and a set of <em>n</em> keys, and returns a tuple of <em>n</em> values. This is a more efficient version of the <code>get_json_object</code> UDF because it can get multiple keys with just one call.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple.java>GenericUDTFJSONTuple</a></td>
+</tr>
+<tr>
+<td><strong>string 1,…,stringn</strong></td>
+<td><code>parse\_url\_tuple(string urlStr, string p1,...,string pn)</code></td>
+<td>Takes URLstring and a set of n URL parts, and returns a tuple of n values. This is similar to the parse_url() UDF but can extract multiple parts at once out of a URL. Valid part names are HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, USERINFO, QUERY:.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFParseUrlTuple.java>GenericUDTFParseUrlTuple</a></td>
+</tr>
+</tbody>
+</table>
+<h3 id=string-functions>String Functions</h3>
+<p>There is no good engine without string manipulation functions. Apache Hive has rich built-instring functions. </p>
+<table>
+<thead>
+<tr>
+<th><strong>Return Type</strong></th>
+<th><strong>Name(Signature)</strong></th>
+<th><strong>Description</strong></th>
+<th><strong>Source code</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><strong>int</strong></td>
+<td><code>ascii(string str)</code></td>
+<td>Returns the numeric value of the first character of str.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAscii.java>UDFAscii</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>base64(binary bin)</code></td>
+<td>Converts the argument from binary to a base64string.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java>UDFBase64</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>character\_length(string str)</code></td>
+<td>Returns the number of UTF-8 characters contained in str. The function char_length is shorthand for this function.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCharacterLength.java>GenericUDFCharacterLength</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>chr(bigint|double A)</code></td>
+<td>Returns the ASCII character having the binary equivalent to A. If A is larger than 256 the result is equivalent to chr(A % 256). Example: select chr(88); returns “X”.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFChr.java>UDFChr</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>concat(string|binary A,string|binary B...)</code></td>
+<td>Returns the string or bytes resulting from concatenating the strings or bytes passed in as parameters in order. For example, concat(‘foo’, ‘bar’) results in ‘foobar’. Note that this function can take any number of input strings.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFConcat.java>GenericUDFConcat</a></td>
+</tr>
+<tr>
+<td><strong>array<struct<string,double»</strong></td>
+<td><code>context\_ngrams(array<array<string>>, array<string>, int K, int pf)</code></td>
+<td>Returns the top-k contextual N-grams from a set of tokenized sentences, given a string of “context”. See <a href=https://hive.apache.org/docs/latest/statisticsanddatamining_27362058/>StatisticsAndDataMining</a> for more information.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFContextNGrams.java>GenericUDAFContextNGrams</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>concat\_ws(string SEP, string A, string B...)</code></td>
+<td>Like concat() above, but with custom separator SEP.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFConcatWS.java>GenericUDFConcatWS</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>concat\_ws(string SEP, array<string>)</code></td>
+<td>Like concat_ws() above, but taking an array ofstrings.</td>
+<td></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>decode(binary bin, string charset)</code></td>
+<td>Decodes the first argument into a string using the provided character set (one of ‘US-ASCII’, ‘ISO-8859-1’, ‘UTF-8’, ‘UTF-16BE’, ‘UTF-16LE’, ‘UTF-16’). If either argument is null, the result will also be null.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java>GenericUDFDecode</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>elt(N int, str1 string, str2s tring, str3 string,...)</code></td>
+<td>Return string at index number. For example elt(2,‘hello’,‘world’) returns ‘world’. Returns NULL if N is less than 1 or greater than the number of arguments.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFElt.java>GenericUDFElt</a></td>
+</tr>
+<tr>
+<td><strong>binary</strong></td>
+<td><code>encode(string src, string charset)</code></td>
+<td>Encodes the first argument into a BINARY using the provided character set (one of ‘US-ASCII’, ‘ISO-8859-1’, ‘UTF-8’, ‘UTF-16BE’, ‘UTF-16LE’, ‘UTF-16’). If either argument is null, the result will also be null. </td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFEncode.java>GenericUDFEncode</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>field(val T, val1 T, val2 T, val3 T,...)</code></td>
+<td>Returns the index of val in the val1,val2,val3,… list or 0 if not found. For example field(‘world’,‘say’,‘hello’,‘world’) returns 3.All primitive types are supported, arguments are compared using str.equals(x). If val is NULL, the return value is 0.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFField.java>GenericUDFField</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>find\_in\_set(string str, string strList)</code></td>
+<td>Returns the first occurrence of str in strList where strList is a comma-delimited string. Returns null if either argument is null. Returns 0 if the first argument contains any commas. For example, find_in_set(‘ab’, ‘abc,b,ab,c,def’) returns 3.</td>
+<td><a href=https://github.com/apache/hive/blob/1455f6201b0f7b061361bc9acc23cb810ff02483/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFFindInSet.java>UDFFindInSet</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>format\_number(number x, int d)</code></td>
+<td>Formats the number X to a format like ‘#,###,###.##’, rounded to D decimal places, and returns the result as a string. If D is 0, the result has no decimal point or fractional part.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFormatNumber.java>GenericUDFFormatNumber</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>get\_json\_object(string json\_string,string path)</code></td>
+<td>Extracts JSON object from a JSON string based on JSON path specified, and returns JSON string of the extracted JSON object. It will return null if the input JSON string is invalid.NoteThe json path can only have the characters [0-9a-z_], i.e., no upper-case or special characters. Also, the keys <em>cannot start with numbers.</em> This is due to restrictions on Hive column names.</td>
+<td><a href=https://github.com/apache/hive/blob/1455f6201b0f7b061361bc9acc23cb810ff02483/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFJson.java>UDFJson</a></td>
+</tr>
+<tr>
+<td><strong>boolean</strong></td>
+<td><code>in\_file(string str, string filename)</code></td>
+<td>Returns true if the string <code>str</code> appears as an entire line in <code>filename</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInFile.java>GenericUDFInFile</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>instr(string str, string substr)</code></td>
+<td>Returns the position of the first occurrence of <code>substr</code> in <code>str</code>. Returns <code>null</code> if either of the arguments are <code>null</code> and returns <code>0</code> if <code>substr</code> could not be found in <code>str</code>. Be aware that this is not zero-based. The first character in <code>str</code> has index 1.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInstr.java>GenericUDFInstr</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>length(string A)</code></td>
+<td>Returns the length of the string.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLength.java>GenericUDFLength</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>locate(string substr,string str[,int pos])</code></td>
+<td>Returns the position of the first occurrence of substr in str after position pos.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLocate.java>GenericUDFLocate</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>lower(string A) lcase(string A)</code></td>
+<td>Returns the string resulting from converting all characters of B to lowercase. For example, lower(‘fOoBaR’) results in ‘foobar’.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLower.java>GenericUDFLower</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>lpad(string str,int len,string pad)</code></td>
+<td>Returns str, left-padded with pad to a length of len. If str is longer than len, the return value is shortened to len characters. In the case of an empty padstring, the return value is null.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLpad.java>GenericUDFLpad</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>ltrim(string A)</code></td>
+<td>Returns the string resulting from trimming spaces from the beginning(left-hand side) of A. For example, ltrim(' foobar ‘) results in ‘foobar ‘.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLTrim.java>GenericUDFLTrim</a></td>
+</tr>
+<tr>
+<td><strong>array<struct<string,double»</strong></td>
+<td><code>ngrams(array<array<string>>,int N,int K,int pf)</code></td>
+<td>Returns the top-k N-grams from a set of tokenized sentences, such as those returned by the sentences() UDAF. See <a href=https://hive.apache.org/docs/latest/statisticsanddatamining_27362058/>StatisticsAndDataMining</a> for more information.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFnGrams.java>GenericUDAFnGrams</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>octet\_length(string str)</code></td>
+<td>Returns the number of octets required to hold the string str in UTF-8 encoding. Note that octet_length(str) can be larger than character_length(str).</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOctetLength.java>GenericUDFOctetLength</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>parse\_url(string urlString,string partToExtract [,string keyToExtract])</code></td>
+<td>Returns the specified part from the URL. Valid values for partToExtract include HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, and USERINFO. For example, parse_url('<a href="http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1">http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1</a>’, ‘HOST’) returns ‘<a href=http://facebook.com>facebook.com</a>’. Also, a value of a particular key in QUERY can be extracted by providing the key as the third argument, for exa [...]
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFParseUrl.java>UDFParseUrl</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>printf(string format, Obj... args)</code></td>
+<td>Returns the input formatted according to <a href=https://en.wikipedia.org/wiki/Printf>printf-style</a> formatstrings.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFPrintf.java>GenericUDFPrintf</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>quote(string text)</code></td>
+<td>Returns the quoted string. NEW Includes escape character for any single quotes in Apache Hive 4.0.0</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFQuote.java>GenericUDFQuote</a></td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th>Input</th>
+<th>Output</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>NULL</td>
+<td>NULL</td>
+</tr>
+<tr>
+<td>DONT</td>
+<td>‘DONT’</td>
+</tr>
+<tr>
+<td>DON’T</td>
+<td>‘DON'T’</td>
+</tr>
+</tbody>
+</table>
+<table>
+<thead>
+<tr>
+<th><strong>Return Type</strong></th>
+<th><strong>Name(Signature)</strong></th>
+<th><strong>Description</strong></th>
+<th><strong>Source code</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><strong>string</strong></td>
+<td><code>regexp\_extract(string subject, string pattern, int index)</code></td>
+<td>Returns the string extracted using the pattern. For example, regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 2) returns ‘bar.’ Note that some care is necessary in using predefined character classes: using ‘\s’ as the second argument will match the letter s; ‘\s’ is necessary to match whitespace, etc. The ‘index’ parameter is the Java regex Matcher group() method index. </td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRegExpExtract.java>UDFRegExpExtract</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>regexp\_replace(string INITIAL\_STRING, string PATTERN, string REPLACEMENT)</code></td>
+<td>Returns the string resulting from replacing all substrings in INITIAL_STRING that match the java regular expression syntax defined in PATTERN with instances of REPLACEMENT. For example, regexp_replace(“foobar”, “oo|ar”, “") returns ‘fb.’ Note that some care is necessary in using predefined character classes: using ‘\s’ as the second argument will match the letter s; ‘\s’ is necessary to match whitespace, etc.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRegExpReplace.java>UDFRegExpReplace</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>repeat(string str, int n)</code></td>
+<td>Repeats <code>str</code> in n times.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRepeat.java>UDFRepeat</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>replace(string A, string OLD, string NEW)</code></td>
+<td>Returns the string A with all non-overlapping occurrences of OLD replaced with NEW. Example: select replace(“ababab”, “abab”, “Z”); returns “Zab”.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFReplace.java>UDFReplace</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>reverse(string A)</code></td>
+<td>Returns the reversed string.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFReverse.java>UDFReverse</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>rpad(string str,int len,string pad)</code></td>
+<td>Returns str, right-padded with pad to a length of len. If str is longer than len, the return value is shortened to len characters. In the case of an empty padstring, the return value is null.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFRpad.java>GenericUDFRpad</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>rtrim(string A)</code></td>
+<td>Returns the string resulting from trimming spaces from the end(right-hand side) of A. For example, rtrim(’ foobar ‘) results in ' foobar’.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFRTrim.java>GenericUDFRTrim</a></td>
+</tr>
+<tr>
+<td><strong>array<array></strong></td>
+<td><code>sentences(string str,string lang,string locale)</code></td>
+<td>Tokenizes a string of natural language text into words and sentences, where each sentence is broken at the appropriate sentence boundary and returned as an array of words. The ‘lang’ and ‘locale’ are optional arguments. For example, sentences(‘Hello there! How are you?') returns ( (“Hello”, “there”), (“How”, “are”, “you”) ).</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSentences.java>GenericUDFSentences</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>space(int n)</code></td>
+<td>Returns a string of n spaces.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSpace.java>UDFSpace</a></td>
+</tr>
+<tr>
+<td><strong>array</strong></td>
+<td><code>split(string str, string pat)</code></td>
+<td>Splits str around pat (pat is a regular expression).</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java>GenericUDFSplit</a></td>
+</tr>
+<tr>
+<td><strong>map<string,string></strong></td>
+<td><code>str\_to\_map(text[, delimiter1, delimiter2])</code></td>
+<td>Splits text into key-value pairs using two delimiters. Delimiter1 separates text into K-V pairs, and Delimiter2 splits each K-V pair. Default delimiters are ‘,’ for delimiter1 and ‘:’ for delimiter2.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFStringToMap.java>GenericUDFStringToMap</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>substr(string|binary A,int start) substring(string|binary A,int start)</code></td>
+<td>Returns the substring or slice of the byte array of A starting from start position till the end of string A. For example, substr(‘foobar’, 4) results in ‘bar’.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSubstringIndex.java>GenericUDFSubstringIndex</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>substr(string|binary A,int start,int len) substring(string|binary A,int start,int len)</code></td>
+<td>Returns the substring or slice of the byte array of A starting from start position with length len. For example, substr(‘foobar’, 4, 1) results in ‘b’.</td>
+<td></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>substring\_index(string A,string delim,int count)</code></td>
+<td>Returns the substring from string A before count occurrences of the delimiter delim. If the count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. Substring_index performs a case-sensitive match when searching for delim. Example: substring_index('<a href=http://www.apache.org>www.apache.org</a>’, ‘.’, 2) = &lsquo [...]
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSubstringIndex.java>GenericUDFSubstringIndex</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>translate(string|char|varchar input,string|char|varchar from, string|char|varchar to)</code></td>
+<td>Translates the input string by replacing the characters present in the <code>from</code> string with the corresponding characters in the <code>to</code>string. This is similar to the <code>translate</code> function in <a href=http://www.postgresql.org/docs/9.1/interactive/functions-string.html>PostgreSQL</a>. If any of the parameters to this UDF are NULL, the result is NULL as well. </td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTranslate.java>GenericUDFTranslate</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>trim(string A)</code></td>
+<td>Returns the string resulting from trimming spaces from both ends of A. For example, trim(' foobar ‘) results in ‘foobar’</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrim.java>GenericUDFTrim</a></td>
+</tr>
+<tr>
+<td><strong>binary</strong></td>
+<td><code>unbase64(string str)</code></td>
+<td>Converts the argument from a base64 string to BINARY.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnbase64.java>UDFUnbase64</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>upper(string A) ucase(string A)</code></td>
+<td>Returns the string resulting from converting all characters of A to upper case. For example, upper(‘fOoBaR’) results in ‘FOOBAR’.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFUpper.java>GenericUDFUpper</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>initcap(string A)</code></td>
+<td>Returns string, with the first letter of each word in uppercase, and all other letters in lowercase. Words are delimited by whitespace.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInitCap.java>GenericUDFInitCap</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>levenshtein(string A, string B)</code></td>
+<td>Returns the <a href=https://en.wikipedia.org/wiki/Levenshtein_distance>Levenshtein distance</a> between two strings. Example: levenshtein(‘kitten’, ‘sitting’) results in 3.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java>GenericUDFLevenshtein</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>soundex(string A)</code></td>
+<td>Returns the <a href=https://en.wikipedia.org/wiki/Soundex>soundex code</a> of the string. Example: soundex(‘Miller’) results in M460.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java>GenericUDFSoundex</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>deserialize(base64 encoded message, compressionFormat)</code></td>
+<td>NEW Returns plain text string of given message which was compressed in compressionFormat and base64 encoded. Currently, Supports only ‘gzip’ for Gzip compressed and base 64 encoded strings.Example: deserialize(‘H4sIAAAAAAAA/ytJLS4BAAx+f9gEAAAA’, ‘gzip’) Result: test</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDeserialize.java>GenericUDFDeserialize</a></td>
+</tr>
+</tbody>
+</table>
+<h3 id=date-functions>Date Functions</h3>
+<p>In many analytical workloads Date is one of the most used built-in functions in Hive. The following list contains the supported built-in date functions in Hive.</p>
+<table>
+<thead>
+<tr>
+<th><strong>Return Type</strong></th>
+<th><strong>Name(Signature)</strong></th>
+<th><strong>Description</strong></th>
+<th><strong>Source code</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><strong>string</strong></td>
+<td><code>from\_unixtime(bigint unixtime[,string pattern])</code></td>
+<td>Converts a number of seconds since epoch (1970-01-01 00:00:00 UTC) to a string representing the timestamp of that moment in the current time zone(using config “hive.local.time.zone”) using the specified pattern. If the pattern is missing the default is used (‘uuuu-MM-dd HH:mm:ss’ or yyyy-MM-dd HH:mm:ss’). Example: from_unixtime(0)=1970-01-01 00:00:00 (hive.local.time.zone=Etc/GMT)MODIFIEDAs of Hive 4.0.0 the “<strong>hive.datetime.formatter”< [...]
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFromUnixTime.java>GenericUDFFromUnixTime</a></td>
+</tr>
+<tr>
+<td><strong>bigint</strong></td>
+<td><code>unix\_timestamp()</code></td>
+<td>Gets the current Unix timestamp in seconds. This function is not deterministic and its value is not fixed for the scope of a query execution, therefore prevents proper optimization of queries - this has been deprecated since 2.0 in favor of CURRENT_TIMESTAMP constant.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFUnixTimeStamp.java>GenericUDFUnixTimeStamp</a></td>
+</tr>
+<tr>
+<td><strong>bigint</strong></td>
+<td><code>unix\_timestamp(string date)</code></td>
+<td>Converts a DateTimestring to unix time (seconds since epoch) using the default pattern(s). The default accepted patterns depend on the underlying formatter implementation. The DateTime string does not contain a timezone so the conversion uses the local time zone as specified by “hive.local.time.zone” property. Returns null when the conversion fails. Example: unix_timestamp(‘2009-03-20 11:30:01’) = 1237573801MODIFIEDAs of Hive 4.0.0 the “hive.datetime.for [...]
+<td></td>
+</tr>
+<tr>
+<td><strong>bigint</strong></td>
+<td><code>unix\_timestamp(string date,string pattern)</code></td>
+<td>Converts a date-time string to unix time (seconds since epoch) using the specified pattern. The accepted patterns and their behavior depend on the underlying formatter implementation. Returns null when the conversion fails. Example: unix_timestamp(‘2009-03-20’, ‘uuuu-MM-dd’) = 1237532400MODIFIEDAs of Hive 4.0.0 the “hive.datetime.formatter” property can be used to control the underlying formatter implementation and as a consequence the accepted pat [...]
+<td></td>
+</tr>
+<tr>
+<td><strong>date</strong></td>
+<td><code>to\_date(string timestamp)</code></td>
+<td>Returns the date part of a timestamp date object. Example: to_date(“1970-01-01 00:00:00”) </td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java>GenericUDFDate</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>year(string date)</code></td>
+<td>Returns the year part of a date or a timestamp string: year(“1970-01-01 00:00:00”) = 1970, year(“1970-01-01”) = 1970.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFYear.java>UDFYear</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>quarter(date/timestamp/string)</code></td>
+<td>Returns the quarter of the year for a date, timestamp, or string in the range 1 to 4. Example: quarter(‘2015-04-08’) = 2.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFQuarter.java>GenericUDFQuarter</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>month(string date)</code></td>
+<td>Returns the month part of a date or a timestamp string. Example: month(“1970-11-01 00:00:00”) = 11, month(“1970-11-01”) = 11.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFMonth.java>UDFMonth</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>day(string date) dayofmonth(date)</code></td>
+<td>Returns the day part of a date or a timestamp string. Example: day(“1970-11-01 00:00:00”) = 1, day(“1970-11-01”) = 1.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFDayOfMonth.java>UDFDayOfMonth</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>hour(string date)</code></td>
+<td>Returns the hour of the timestamp: Example: hour(‘2009-07-30 12:58:59’) = 12, hour(‘12:58:59’) = 12.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHour.java>UDFHour</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>minute(string date)</code></td>
+<td>Returns the minute of the timestamp.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFMinute.java>UDFMinute</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>second(string date)</code></td>
+<td>Returns the second of the timestamp.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSecond.java>UDFSecond</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>weekofyear(string date)</code></td>
+<td>Returns the week number of a timestamp string. Example: weekofyear(“1970-11-01 00:00:00”) = 44 or weekofyear(“1970-11-01”) = 44.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFWeekOfYear.java>UDFWeekOfYear</a></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>extract(field FROM source)</code></td>
+<td>Retrieve fields such as days or hours from the source. The source must be a date, timestamp, interval, or string that can be converted into either a date or timestamp. Supported fields include day, dayofweek, hour, minute, month, quarter, second, week and year.Examples:1. select extract(month from “2016-10-20”) results in 10. 2. select extract(hour from “2016-10-20 05:06:07”) results in 5. 3. select extract(dayofweek from “2016-10-20 05:06:07”) res [...]
<td></td>
+</tr>
+<tr>
+<td><strong>int</strong></td>
+<td><code>datediff(string enddate,string startdate)</code></td>
+<td>Returns the number of days from startdate to end date. Example: datediff(‘2009-03-01’, ‘2009-02-27’) = 2.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateDiff.java>GenericUDFDateDiff</a></td>
+</tr>
+<tr>
+<td><strong>date</strong></td>
+<td><code>date\_add(date/timestamp/string startdate, tinyint/smallint/int days)</code></td>
+<td>Adds a number of days to startdate. Example: date_add(‘2008-12-31’, 1) = ‘2009-01-01’.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateAdd.java>GenericUDFDateAdd</a></td>
+</tr>
+<tr>
+<td><strong>date</strong></td>
+<td><code>date\_sub(date/timestamp/string startdate, tinyint/smallint/int days)</code></td>
+<td>Subtracts a number of days to startdate: date_sub(‘2008-12-31’, 1) = ‘2008-12-30’.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateSub.java>GenericUDFDateSub</a></td>
+</tr>
+<tr>
+<td><strong>timestamp</strong></td>
+<td><code>from\_utc\_timestamp({any primitive type} ts,string timezone)</code></td>
+<td>Converts a timestamp* in UTC to a given timezone.* timestamp is a primitive type, including timestamp/date, tinyint/smallint/int/bigint, float/double and decimal.Fractional values are considered as seconds.integer values are considered as milliseconds. For example, from_utc_timestamp(2592000.0,‘PST’), from_utc_timestamp(2592000000,‘PST’) and from_utc_timestamp(timestamp ‘1970-01-30 16:00:00’,‘PST’) all return the timestamp 1970-01-30 08 [...]
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFromUtcTimestamp.java>GenericUDFFromUtcTimestamp</a></td>
+</tr>
+<tr>
+<td><strong>timestamp</strong></td>
+<td><code>to\_utc\_timestamp({any primitive type} ts,string timezone)</code></td>
+<td>Converts a timestamp* in a given timezone to UTC.* timestamp is a primitive type, including timestamp/date, tinyint/smallint/int/bigint, float/double and decimal.Fractional values are considered as seconds.integer values are considered as milliseconds. For example, to_utc_timestamp(2592000.0,‘PST’), to_utc_timestamp(2592000000,‘PST’) and to_utc_timestamp(timestamp ‘1970-01-30 16:00:00’,‘PST’) all return the timestamp 1970-01-31 00:00:00.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToUtcTimestamp.java>GenericUDFToUtcTimestamp</a></td>
+</tr>
+<tr>
+<td><strong>date</strong></td>
+<td><code>current\_date</code></td>
+<td>Returns the current date at the start of query evaluation. All calls of current_date within the same query return the same value.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentDate.java>GenericUDFCurrentDate</a></td>
+</tr>
+<tr>
+<td><strong>timestamp</strong></td>
+<td><code>current\_timestamp</code></td>
+<td>Returns the current timestamp at the start of query evaluation. All calls of current_timestamp within the same query return the same value.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCurrentTimestamp.java>GenericUDFCurrentTimestamp</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>add\_months(string start\_date,int num\_months, output\_date\_format)</code></td>
+<td>Returns the date that is num_months after start_date. start_date is a string, date or timestamp. num_months is an integer. If start_date is the last day of the month or if the resulting month has fewer days than the day component of start_date, then the result is the last day of the resulting month. Otherwise, the result has the same day component as start_date. The default output format is ‘yyyy-MM-dd’.MODIFIEDBefore Hive 4.0.0, the time part of the date is ignored. As o [...]
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java>GenericUDFAddMonths</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>last\_day(string date)</code></td>
+<td>Returns the last day of the month to which the date belongs. <code>date</code> is a string in the format ‘yyyy-MM-dd HH:mm:ss’ or ‘yyyy-MM-dd’. <strong>The time part of the date is ignored!</strong></td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java>GenericUDFLastDay</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>next\_day(string start\_date,string day\_of\_week)</code></td>
+<td>Returns the first date which is later than start_date and named as day_of_week. <code>start_date</code> is a string/date/timestamp. day_of_week is 2 letters, 3 letters or full name of the day of the week (e.g. Mo, tue, FRIDAY). <strong>The time part of start_date is ignored.</strong> Example: next_day(‘2015-01-14’, ‘TU’) = 2015-01-20.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java>GenericUDFNextDay</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>trunc(string date,string format)</code></td>
+<td>Returns date truncated to the unit specified by the format. Supported formats: MONTH/MON/MM, YEAR/YYYY/YY. Example: trunc(‘2015-03-17’, ‘MM’) = 2015-03-01.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java>GenericUDFTrunc</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>months\_between(date1, date2)</code></td>
+<td>Returns the number of months between dates <code>date1</code> and <code>date2</code>. If <code>date1</code> is later than <code>date2</code>, then the result is positive. If <code>date1</code> is earlier than <code>date</code> , then the result is negative. If date1 and date2 are either the same days of the month or both last days of months, then the result is always aninteger. Otherwise, the UDF calculates the fractional portion of the result based on a 31-day month and considers th [...]
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMonthsBetween.java>GenericUDFMonthsBetween</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>date\_format(date/timestamp/string ts,string pattern)</code></td>
+<td>Converts a date/timestamp/string to a value of string using the specified pattern. The accepted patterns and their behavior depend on the underlying formatter implementation. The pattern argument should be constant. Example: date_format(‘2015-04-08’, ‘y’) = ‘2015’.date_format can be used to implement other UDFs, e.g.:* dayname(date) is date_format(date, ‘EEEE’) dayofyear(date) is date_format(date, ‘D’) MODIFIEDAs of Hive 4.0 [...]
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDateFormat.java>GenericUDFDateFormat</a></td>
+</tr>
+</tbody>
+</table>
+<h3 id=mathematical-functions>Mathematical Functions</h3>
+<p>The following built-in mathematical functions are supported in Hive. </p>
+<table>
+<thead>
+<tr>
+<th><strong>Return Type</strong></th>
+<th><strong>Name (Signature)</strong></th>
+<th><strong>Description</strong></th>
+<th><strong>Source code</strong></th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td><strong>double</strong></td>
+<td><code>round(double a)</code></td>
+<td>Returns the rounded <code>bigint</code> value of <code>a</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFRound.java>GenericUDFRound</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>round(double a,int d)</code></td>
+<td>Returns <code>a</code> rounded to <code>d</code> decimal places.</td>
<td></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>bround(double a)</code></td>
+<td>Returns the rounded bigint value of <code>a</code> using HALF_EVEN rounding mode. Also known as Gaussian rounding or bankers' rounding. Example: bround(2.5) = 2, bround(3.5) = 4.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFBRound.java>GenericUDFBRound</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>bround(double a,int d)</code></td>
+<td>Returns <code>a</code> rounded to <code>d</code> decimal places using HALF_EVEN rounding mode. Example: bround(8.25, 1) = 8.2, bround(8.35, 1) = 8.4.</td>
<td></td>
</tr>
-</tbody>
-</table>
-<pre tabindex=0><code>count(*)
-</code></pre><pre tabindex=0><code>count(expr)
-</code></pre><pre tabindex=0><code>count(DISTINCT expr[, expr...])
-</code></pre><p>| count(*) - Returns the total number of retrieved rows, including rows containing NULL values.count(expr) - Returns the number of rows for which the supplied expression is non-NULL.count(DISTINCT expr[, expr]) - Returns the number of rows for which the supplied expression(s) are unique and non-NULL. Execution of this can be optimized with <a href=#hive-optimize-distinct-rewrite>hive.optimize.distinct.rewrite</a>. | <a href=https://github.com/apache/hive/blob/master/ql/sr [...]
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>sum(col), sum(DISTINCT col)
-</code></pre><p>| Returns the sum of the elements in the group or the sum of the distinct values of the column in the group. MODIFIED | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java>GenericUDAFSum</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>avg(col), avg(DISTINCT col)
-</code></pre><p>| Returns the average of the elements in the group or the average of the distinct values of the column in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFAverage.java>GenericUDAFAverage</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>min(col)
-</code></pre><p>| Returns the minimum of the column in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMin.java>GenericUDAFMin</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>max(col)
-</code></pre><p>| Returns the maximum value of the column in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFMax.java>GenericUDAFMax</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>variance(col), var\_pop(col)
-</code></pre><p>| Returns the variance of a numeric column in the group. MODIFIED | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFVariance.java>GenericUDAFVariance</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>var\_samp(col)
-</code></pre><p>| Returns the unbiased sample variance of a numeric column in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFVarianceSample.java>GenericUDAFVarianceSample</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>stddev\_pop(col)
-</code></pre><p>| Returns the standard deviation of a numeric column in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFStd.java>GenericUDAFStd</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>stddev\_samp(col)
-</code></pre><p>| Returns the unbiased sample standard deviation of a numeric column in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFStdSample.java>GenericUDAFStdSample</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>covar\_pop(col1, col2)
-</code></pre><p>| Returns the population covariance of a pair of numeric columns in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCovariance.java>GenericUDAFCovariance</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>covar\_samp(col1, col2)
-</code></pre><p>| Returns the sample covariance of a pair of numeric columns in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCovarianceSample.java>GenericUDAFCovarianceSample</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>corr(col1, col2)
-</code></pre><p>| Returns the Pearson coefficient of correlation of a pair of numeric columns in the group. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCorrelation.java>GenericUDAFCorrelation</a> |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>percentile(bigint col, p)
-</code></pre><p>| Returns the exact pth percentile of a column in the group (does not work with floating point types). p must be between 0 and 1. NOTE: A true percentile can only be computed for integer values. Use PERCENTILE_APPROX if your input is non-integral. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDAFPercentile.java>UDAFPercentile</a> |
-| <strong>array</strong> |</p>
-<pre tabindex=0><code>percentile(bigint col, array(p1 [, p2]...))
-</code></pre><p>| Returns the exact percentiles p1, p2, … of a column in the group (does not work with floating point types). pi must be between 0 and 1. NOTE: A true percentile can only be computed for integer values. Use PERCENTILE_APPROX if your input is non-integral. |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>percentile\_approx(double col, p [, B])
-</code></pre><p>| Returns an approximate pth percentile of a numeric column (including floating point types) in the group. The B parameter controls approximation accuracy at the cost of memory. Higher values yield better approximations, and the default is 10,000. When the number of distinct values in col is smaller than B, this gives an exact percentile value. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFPercentileAppro [...]
-| <strong>array</strong> |</p>
-<pre tabindex=0><code>percentile\_approx(double col, array(p1 [, p2]...) [, B])
-</code></pre><p>| Same as above, but accepts and returns an array of percentile values instead of a single one. |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_avgx(independent, dependent)
-</code></pre><p>| Equivalent to avg(dependent). | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_avgy(independent, dependent)
-</code></pre><p>| Equivalent to avg(independent). | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_count(independent, dependent)
-</code></pre><p>| Returns the number of non-null pairs used to fit the linear regression line. | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_intercept(independent, dependent)
-</code></pre><p>| Returns the y-intercept of the <a href=https://en.wikipedia.org/wiki/Linear_regression>linear regression line</a>, i.e. the value of b in the equation dependent = a * independent + b. | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_r2(independent, dependent)
-</code></pre><p>| Returns the <a href=https://en.wikipedia.org/wiki/Coefficient_of_determination>coefficient of determination</a> for the regression. | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_slope(independent, dependent)
-</code></pre><p>| Returns the slope of the <a href=https://en.wikipedia.org/wiki/Linear_regression>linear regression line</a>, i.e. the value of an in the equation dependent = a * independent + b. | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_sxx(independent, dependent)
-</code></pre><p>| Equivalent to regr_count(independent, dependent) * var_pop(dependent). | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_sxy(independent, dependent)
-</code></pre><p>| Equivalent to regr_count(independent, dependent) * covar_pop(independent, dependent). | |
-| <strong>double</strong> |</p>
-<pre tabindex=0><code>regr\_syy(independent, dependent)
-</code></pre><p>| Equivalent to regr_count(independent, dependent) * var_pop(independent). | |
-| <strong>array<struct {<code>'x','y'</code>}></strong> |</p>
-<pre tabindex=0><code>histogram\_numeric(col, b)
-</code></pre><p>| Computes a histogram of a numeric column in the group using b non-uniformly spaced bins. The output is an array of size b of double-valued (x,y) coordinates that represent the bin centers and heights | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFHistogramNumeric.java>GenericUDAFHistogramNumeric</a> |
-| <strong>array</strong> |</p>
-<pre tabindex=0><code>collect\_set(col)
-</code></pre><p>| Returns a set of objects with duplicate elements eliminated. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCollectSet.java>GenericUDAFCollectSet</a> |
-| <strong>array</strong> |</p>
-<pre tabindex=0><code>collect\_list(col)
-</code></pre><p>| Returns a list of objects with duplicates. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFCollectList.java>GenericUDAFCollectList</a> |
-| <strong>int</strong> |</p>
-<pre tabindex=0><code>ntile(integer x)
-</code></pre><p>| Divides an ordered partition into <code>x</code> groups called buckets and assign a bucket number to each row in the partition. This allows easy calculation of tertiles, quartiles, deciles, percentiles, and other common summary statistics. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFNTile.java>GenericUDAFNTile</a> |</p>
-<p>Most of the UDAFs ignore NULL values. </p>
-<h3 id=built-in-table-generating-functions-udtf>Built-in Table-Generating Functions (UDTF)</h3>
-<p>Normal user-defined functions, such as concat(), take in a single input row and output a single output row. In contrast, table-generating functions transform a single input row into multiple output rows. UDTF is one of the most advanced functions.</p>
-<table>
-<thead>
<tr>
-<th><strong>Row-set columns types</strong></th>
-<th><strong>Name(Signature)</strong></th>
-<th><strong>Description</strong></th>
-<th><strong>Source Code</strong></th>
+<td><strong>bigint</strong></td>
+<td><code>floor(double a)</code></td>
+<td>Returns the maximum <code>bigint</code> value that is equal to or less than <code>a</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFloor.java>GenericUDFFloor</a></td>
+</tr>
+<tr>
+<td><strong>bigint</strong></td>
+<td><code>ceil(double a), ceiling(double a)</code></td>
+<td>Returns the minimum bigint value that is equal to or greater than <code>a</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCeil.java>GenericUDFCeil</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>rand(), rand(INT seed)</code></td>
+<td>Returns a random number (that changes from row to row) that is distributed uniformly from 0 to 1. Specifying the seed will make sure the generated random number sequence is deterministic.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFRand.java>UDFRand</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>exp(double a), exp(decimal a)</code></td>
+<td>Returns <code>ea</code> where <code>e</code> is the base of the natural logarithm.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFExp.java>UDFExp</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>ln(double a), ln(decimal a)</code></td>
+<td>Returns the natural logarithm of the argument <code>a</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLn.java>UDFLn</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>log10(double a), log10(decimal a)</code></td>
+<td>Returns the base-10 logarithm of the argument <code>a</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog10.java>UDFLog10</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>log2(double a), log2(decimal a)</code></td>
+<td>Returns the base-2 logarithm of the argument <code>a</code>. </td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog2.java>UDFLog2</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>log(double base, double a)</code> <code>log(decimal base, decimal a)</code></td>
+<td>Returns the base-<code>base</code> logarithm of the argument <code>a</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFLog.java>UDFLog</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>pow(double a, double p), power(double a, double p)</code></td>
+<td>Returns <code>ap</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFPower.java>GenericUDFPower</a></td>
+</tr>
+<tr>
+<td><strong>double</strong></td>
+<td><code>sqrt(double a), sqrt(decimal a)</code></td>
+<td>Returns the square root of <code>a</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSqrt.java>UDFSqrt</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>bin(bigint a)</code></td>
+<td>Returns the number in binary format.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBin.java>UDFBin</a></td>
+</tr>
+<tr>
+<td><strong>string</strong></td>
+<td><code>hex(bigint a) hex(string a) hex(binary a)</code></td>
+<td>If the argument is an int or <code>binary</code>, <code>hex</code> returns the number as a string in hexadecimal format. Otherwise, if the number is a string, it converts each character into its hexadecimal representation and returns the resulting string. </td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFHex.java>UDFHex</a></td>
+</tr>
+<tr>
+<td><strong>binary</strong></td>
+<td><code>unhex(STRING a)</code></td>
+<td>Inverse of hex.interprets each pair of characters as a hexadecimal number and converts to the byte representation of the number.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFUnhex.java>UDFUnhex</a></td>
</tr>
-</thead>
-<tbody>
<tr>
-<td><strong>T</strong></td>
-<td></td>
-<td></td>
-<td></td>
+<td><strong>string</strong></td>
+<td><code>conv(bigint num,int from\_base,int to\_base), conv(STRING num,int from\_base,int to\_base)</code></td>
+<td>Converts a number from a given base to another.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFConv.java>UDFConv</a></td>
</tr>
-</tbody>
-</table>
-<pre tabindex=0><code>explode(ARRAY<T> a)
-</code></pre><p>| Explodes an array to multiple rows. Returns a row-set with a single column (<em>col</em>), one row for each element from the array. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFExplode.java>GenericUDTFExplode</a> |
-| <strong>Tkey,Tvalue</strong> |</p>
-<pre tabindex=0><code>explode(MAP<Tkey,Tvalue> m)
-</code></pre><p>| Explodes a map to multiple rows. Returns a row-set with two columns (<em>key,value)</em> , one row for each key-value pair from the input map. |
-| <strong>int,T</strong> |</p>
-<pre tabindex=0><code>posexplode(ARRAY<T> a)
-</code></pre><p>| Explodes an array to multiple rows with an additional positional column ofint type (position of items in the original array, starting with 0). Returns a row-set with two columns (<em>pos,val</em>), one row for each element from the array. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFPosExplode.java>GenericUDTFPosExplode</a> |
-| <strong>T1,…,Tn</strong> |</p>
-<pre tabindex=0><code>inline(ARRAY<STRUCT<f1:T1,...,fn:Tn>> a)
-</code></pre><p>| Explodes an array of structs to multiple rows. Returns a row-set with N columns (N = number of top level elements in the struct), one row per struct from the array. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFInline.java>GenericUDTFInline</a> |
-| <strong>T1,…,Tn/r</strong> |</p>
-<pre tabindex=0><code>stack(int r,T1 V1,...,Tn/r Vn)
-</code></pre><p>| Breaks up <em>n</em> values V1,…,Vninto <em>r</em> rows. Each row will have <em>n/r</em> columns. <em>r</em> must be constant. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFStack.java>GenericUDTFStack</a> |
-| <strong>string1,…,stringn</strong> |</p>
-<pre tabindex=0><code>json\_tuple(string jsonStr, string k1,...,string kn)
-</code></pre><p>| Takes JSON string and a set of <em>n</em> keys, and returns a tuple of <em>n</em> values. This is a more efficient version of the <code>get_json_object</code> UDF because it can get multiple keys with just one call. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple.java>GenericUDTFJSONTuple</a> |
-| <strong>string 1,…,stringn</strong> |</p>
-<pre tabindex=0><code>parse\_url\_tuple(string urlStr, string p1,...,string pn)
-</code></pre><p>| Takes URLstring and a set of n URL parts, and returns a tuple of n values. This is similar to the parse_url() UDF but can extract multiple parts at once out of a URL. Valid part names are HOST, PATH, QUERY, REF, PROTOCOL, AUTHORITY, FILE, USERINFO, QUERY:. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFParseUrlTuple.java>GenericUDTFParseUrlTuple</a> |</p>
-<h3 id=string-functions>String Functions</h3>
-<p>There is no good engine without string manipulation functions. Apache Hive has rich built-instring functions. </p>
-<table>
-<thead>
<tr>
-<th><strong>Return Type</strong></th>
-<th><strong>Name(Signature)</strong></th>
-<th><strong>Description</strong></th>
-<th><strong>Source code</strong></th>
+<td><strong>double</strong></td>
+<td><code>abs(double a)</code></td>
+<td>Returns the absolute value.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAbs.java>GenericUDFAbs</a></td>
</tr>
-</thead>
-<tbody>
<tr>
-<td><strong>int</strong></td>
-<td></td>
-<td></td>
-<td></td>
+<td><strong>int or double</strong></td>
+<td><code>pmod(INT a,int b), pmod(double a, double b)</code></td>
+<td>Returns the positive value of <code>a mod b</code>.</td>
+<td><a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFOPMod.java>GenericUDFOPMod</a></td>
</tr>
-</tbody>
-</table>
-<pre tabindex=0><code>ascii(string str)
-</code></pre><p>| Returns the numeric value of the first character of str. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFAscii.java>UDFAscii</a> |
-| <strong>string</strong> |</p>
-<pre tabindex=0><code>base64(binary bin)
-</code></pre><p>| Converts the argument from binary to a base64string. | <a href=https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFBase64.java>UDFBase64</a> |
... 4062 lines suppressed ...