Skip to content

Commit d1989bf

Browse files
authored
Web console: fix row numbers to be abbreviated (apache#17942)
* fix row numbers to be abbreviated * preview dialog sort descending
1 parent 5b123de commit d1989bf

4 files changed

Lines changed: 24 additions & 2 deletions

File tree

web-console/src/components/segment-timeline/segment-bar-chart-render.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import {
4040
filterMap,
4141
formatBytes,
4242
formatNumber,
43+
formatNumberAbbreviated,
4344
formatStartDuration,
4445
groupBy,
4546
groupByAsMap,
@@ -345,7 +346,7 @@ export const SegmentBarChartRender = function SegmentBarChartRender(
345346
return formatNumber(n); // + ' seg/day';
346347

347348
case 'rows':
348-
return formatNumber(n); // + ' row/day';
349+
return formatNumberAbbreviated(n); // + ' row/day';
349350

350351
case 'size':
351352
return formatBytes(n);

web-console/src/dialogs/datasource-table-action-dialog/datasource-preview-pane/datasource-preview-pane.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export const DatasourcePreviewPane = React.memo(function DatasourcePreviewPane(
4343
let result: QueryResult;
4444
try {
4545
result = await queryRunner.runQuery({
46-
query: `SELECT * FROM ${T(datasource)}`,
46+
query: `SELECT * FROM ${T(datasource)} ORDER BY __time DESC`,
4747
extraQueryContext: { sqlOuterLimit: 100 },
4848
cancelToken,
4949
});

web-console/src/utils/general.spec.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import {
2525
formatMegabytes,
2626
formatMillions,
2727
formatNumber,
28+
formatNumberAbbreviated,
2829
formatPercent,
2930
hashJoaat,
3031
moveElement,
@@ -106,6 +107,18 @@ describe('general', () => {
106107
});
107108
});
108109

110+
describe('formatNumberAbbreviated', () => {
111+
it('works', () => {
112+
expect(formatNumberAbbreviated(null as any)).toEqual('0');
113+
expect(formatNumberAbbreviated(0)).toEqual('0');
114+
expect(formatNumberAbbreviated(5)).toEqual('5');
115+
expect(formatNumberAbbreviated(5.1)).toEqual('5.1');
116+
expect(formatNumberAbbreviated(10000)).toEqual('10K');
117+
expect(formatNumberAbbreviated(4000000000)).toEqual('4B');
118+
expect(formatNumberAbbreviated(1234567890)).toEqual('1.23B');
119+
});
120+
});
121+
109122
describe('formatInteger', () => {
110123
it('works', () => {
111124
expect(formatInteger(10000)).toEqual('10,000');

web-console/src/utils/general.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,14 @@ export function formatNumber(n: NumberLike): string {
279279
return (n || 0).toLocaleString('en-US', { maximumFractionDigits: 20 });
280280
}
281281

282+
export function formatNumberAbbreviated(n: NumberLike): string {
283+
return (n || 0).toLocaleString('en-US', {
284+
notation: 'compact',
285+
compactDisplay: 'short',
286+
maximumFractionDigits: 2,
287+
});
288+
}
289+
282290
export function formatRate(n: NumberLike) {
283291
return numeral(n).format('0,0.0') + '/s';
284292
}

0 commit comments

Comments
 (0)