Skip to content

Commit e5eaa7f

Browse files
committed
8343946: JFR: Wildcard should only work with COUNT for 'jfr view'
Reviewed-by: mgronlun
1 parent 2989d87 commit e5eaa7f

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

src/jdk.jfr/share/classes/jdk/jfr/internal/query/QueryResolver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ private void resolveSelect() throws QueryException {
144144
field.aggregator = expression.aggregator();
145145
FieldBuilder.configureAggregator(field);
146146
expression.alias().ifPresent(alias -> fieldAliases.put(alias, field));
147-
if (field.name.equals("*") && field.aggregator != Aggregator.COUNT) {
147+
if (expression.name().equals("*") && field.aggregator != Aggregator.COUNT) {
148148
throw new QuerySyntaxException("Wildcard ('*') can only be used with aggregator function COUNT");
149149
}
150150
}
@@ -259,7 +259,7 @@ private List<Field> resolveFields(String name, List<FilteredType> types) {
259259
List<Field> fields = new ArrayList<>();
260260

261261
if (name.equals("*")) {
262-
// Used with COUNT(*) and UNIQUE(*)
262+
// Used with COUNT(*)
263263
// All events should have a start time
264264
name = "startTime";
265265
}

src/jdk.jfr/share/classes/jdk/jfr/internal/query/view.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ table = "COLUMN 'StackTrace', 'Count', 'Avg.', 'Max.'
178178
[application.contention-by-address]
179179
label = "Contention by Monitor Address"
180180
table = "COLUMN 'Monitor Address', 'Class', 'Threads', 'Max Duration'
181-
SELECT address, FIRST(monitorClass), UNIQUE(*), MAX(duration) AS M
181+
SELECT address, FIRST(monitorClass), UNIQUE(eventThread), MAX(duration) AS M
182182
FROM JavaMonitorEnter
183183
GROUP BY monitorClass ORDER BY M"
184184

0 commit comments

Comments
 (0)