mirror of
https://github.com/apache/impala.git
synced 2025-12-19 09:58:28 -05:00
In the "Fragment Instances" page of a query, even though it is possible to sort the rows based on the fragment's name, it is difficult to distinguish between fragments and their instances. With row grouping based on fragment's name, it becomes easier to distinguish one fragment's instance from the other. The lexographical sorting of instances can still be done based on different columns, which splits the fragment's group and orders the rows lexicographically only based on the column's values. Row grouping has been implemented using the "RowGroup" extension for datatables - https://datatables.net/extensions/rowgroup/. Datatable libraries and its extensions have been added under the directory - "www/datatables". The datatable library's license has been updated according to version 1.13.2, which was previously not updated. The related row grouping extension's license has also been included. Change-Id: If2b7ed6e2a6d605553242a7db4dbeaa7fcae4606 Reviewed-on: http://gerrit.cloudera.org:8080/22226 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
94 lines
3.2 KiB
Cheetah
94 lines
3.2 KiB
Cheetah
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
{{! Common header template with navbar which starts a container div for content (closed by
|
|
common-footer.tmpl) }}
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head><title>Apache Impala</title>
|
|
<script src='{{ __common__.host-url }}/www/jquery/jquery-3.5.1.min.js'></script>
|
|
<script src='{{ __common__.host-url }}/www/bootstrap/js/bootstrap-4.3.1.min.js'></script>
|
|
<script src='{{ __common__.host-url }}/www/scripts/common_util.js'></script>
|
|
<link rel="stylesheet" type="text/css" href="{{ __common__.host-url }}/www/datatables/DataTables-1.13.2/datatables.min.css"/>
|
|
<script type="text/javascript" src="{{ __common__.host-url }}/www/datatables/DataTables-1.13.2/datatables.min.js"></script>
|
|
<link href='{{ __common__.host-url }}/www/bootstrap/css/bootstrap-4.3.1.min.css' rel='stylesheet' media='screen'>
|
|
<link rel='icon' href='{{ __common__.host-url }}/www/favicon.ico'>
|
|
<style>
|
|
@media (min-width: 1300px) {
|
|
#nav-options {
|
|
width: 1280px;
|
|
}
|
|
}
|
|
|
|
body {
|
|
font-size: 14px;
|
|
}
|
|
|
|
pre {
|
|
padding: 10px;
|
|
font-size: 12px;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
/* Avoid unsightly padding around code element */
|
|
pre.code {
|
|
padding: 0;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header class="navbar navbar-default navbar-expand bg-light navbar-static-top" id="top" role="banner">
|
|
<div id="nav-options" class="container">
|
|
<div class="navbar-header">
|
|
<a class='navbar-brand' href='{{ __common__.host-url }}/' id='root-link'>{{ __common__.process-name }}</a>
|
|
</div>
|
|
<nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
|
|
<ul class="nav navbar-nav">
|
|
{{#__common__.navbar}}
|
|
<li class="navbar-item"><a class="nav-link" href="{{ __common__.host-url }}{{link}}">{{title}}</a></li>
|
|
{{/__common__.navbar}}
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
<div class='container-fluid' style='width:90%'>
|
|
{{#error}}
|
|
<div class="alert alert-danger">
|
|
<strong>Error:</strong>
|
|
{{.}}
|
|
</div>
|
|
{{/error}}
|
|
<script>
|
|
// For Apache Knox compatibility, all urls that are accessed by javascript should have
|
|
// their path wrapped with this.
|
|
function make_url(path) {
|
|
const root_link = document.getElementById('root-link');
|
|
const s = root_link.href.split("?");
|
|
url = s[0] + path;
|
|
if (s.length > 1) {
|
|
if (path.includes("?")) {
|
|
url += "&"
|
|
} else {
|
|
url += "?";
|
|
}
|
|
url += s[1];
|
|
}
|
|
return url;
|
|
}
|
|
</script>
|