[
https://issues.apache.org/jira/browse/HIVE-26580?focusedWorklogId=826162&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-826162
]
ASF GitHub Bot logged work on HIVE-26580:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 15/Nov/22 14:22
Start Date: 15/Nov/22 14:22
Worklog Time Spent: 10m
Work Description: deniskuzZ commented on code in PR #3708:
URL: https://github.com/apache/hive/pull/3708#discussion_r1022843105
##########
ql/src/java/org/apache/hadoop/hive/ql/ddl/process/show/compactions/ShowCompactionsAnalyzer.java:
##########
@@ -80,15 +83,64 @@ public void analyzeInternal(ASTNode root) throws
SemanticException {
case HiveParser.TOK_COMPACT_ID:
compactionId = Long.parseLong(child.getChild(0).getText());
break;
+ case HiveParser.TOK_LIMIT:
+ limit = Short.valueOf((child.getChild(0)).getText());
+ break;
+ case HiveParser.TOK_ORDERBY:
+ orderBy = processSortOrderSpec(child);
+ break;
default:
dbName = stripQuotes(child.getText());
}
}
ShowCompactionsDesc desc = new ShowCompactionsDesc(ctx.getResFile(),
compactionId, dbName, tblName, poolName, compactionType,
- compactionStatus, partitionSpec);
+ compactionStatus, partitionSpec, limit, orderBy);
Task<DDLWork> task = TaskFactory.get(new DDLWork(getInputs(),
getOutputs(), desc));
rootTasks.add(task);
task.setFetchSource(true);
setFetchTask(createFetchTask(ShowCompactionsDesc.SCHEMA));
}
+
+
+ private String processSortOrderSpec(ASTNode sortNode) {
+ List<PTFInvocationSpec.OrderExpression> orderExp =
processOrderSpec(sortNode).getExpressions();
+ Map<String, String> orderByAttributes = orderExp.stream().collect(
+ Collectors.toMap(x -> {
+ return x.getExpression().getChild(0)==null ?
+
CompactionColumn.valueOf(x.getExpression().getText().replaceAll("\'","").toUpperCase()).toString():
+
CompactionColumn.valueOf(x.getExpression().getChild(0).getText()).toString();
+ }, x -> x.getOrder().toString()));
+ return orderByAttributes.entrySet().stream().map(e -> e.getKey() + "\t" +
e.getValue()).collect(Collectors.joining(","));
+ }
+ public enum CompactionColumn {
Review Comment:
should it be public? new line is missing. Do we even need an enum
(CC_+value)?
Issue Time Tracking
-------------------
Worklog Id: (was: 826162)
Time Spent: 8h 50m (was: 8h 40m)
> SHOW COMPACTIONS should support ordering and limiting functionality in
> filtering options
> ----------------------------------------------------------------------------------------
>
> Key: HIVE-26580
> URL: https://issues.apache.org/jira/browse/HIVE-26580
> Project: Hive
> Issue Type: Improvement
> Affects Versions: 3.0.0
> Reporter: KIRTI RUGE
> Assignee: KIRTI RUGE
> Priority: Major
> Labels: pull-request-available
> Time Spent: 8h 50m
> Remaining Estimate: 0h
>
> SHOW COMPACTION should provide ordering by defied table . It should also
> support limitation of fetched records
--
This message was sent by Atlassian Jira
(v8.20.10#820010)