This is an automated email from the ASF dual-hosted git repository.

karan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new d1989bf3b59 Web console: fix row numbers to be abbreviated (#17942)
d1989bf3b59 is described below

commit d1989bf3b59b9d413ab1a84abf392e9e14202adc
Author: Vadim Ogievetsky <[email protected]>
AuthorDate: Wed Apr 23 02:44:44 2025 -0700

    Web console: fix row numbers to be abbreviated (#17942)
    
    * fix row numbers to be abbreviated
    
    * preview dialog sort descending
---
 .../segment-timeline/segment-bar-chart-render.tsx           |  3 ++-
 .../datasource-preview-pane/datasource-preview-pane.tsx     |  2 +-
 web-console/src/utils/general.spec.ts                       | 13 +++++++++++++
 web-console/src/utils/general.tsx                           |  8 ++++++++
 4 files changed, 24 insertions(+), 2 deletions(-)

diff --git 
a/web-console/src/components/segment-timeline/segment-bar-chart-render.tsx 
b/web-console/src/components/segment-timeline/segment-bar-chart-render.tsx
index 630dc423149..945b8703fc3 100644
--- a/web-console/src/components/segment-timeline/segment-bar-chart-render.tsx
+++ b/web-console/src/components/segment-timeline/segment-bar-chart-render.tsx
@@ -40,6 +40,7 @@ import {
   filterMap,
   formatBytes,
   formatNumber,
+  formatNumberAbbreviated,
   formatStartDuration,
   groupBy,
   groupByAsMap,
@@ -345,7 +346,7 @@ export const SegmentBarChartRender = function 
SegmentBarChartRender(
         return formatNumber(n); // + ' seg/day';
 
       case 'rows':
-        return formatNumber(n); // + ' row/day';
+        return formatNumberAbbreviated(n); // + ' row/day';
 
       case 'size':
         return formatBytes(n);
diff --git 
a/web-console/src/dialogs/datasource-table-action-dialog/datasource-preview-pane/datasource-preview-pane.tsx
 
b/web-console/src/dialogs/datasource-table-action-dialog/datasource-preview-pane/datasource-preview-pane.tsx
index c48cbfa5198..37ee4beaf74 100644
--- 
a/web-console/src/dialogs/datasource-table-action-dialog/datasource-preview-pane/datasource-preview-pane.tsx
+++ 
b/web-console/src/dialogs/datasource-table-action-dialog/datasource-preview-pane/datasource-preview-pane.tsx
@@ -43,7 +43,7 @@ export const DatasourcePreviewPane = React.memo(function 
DatasourcePreviewPane(
       let result: QueryResult;
       try {
         result = await queryRunner.runQuery({
-          query: `SELECT * FROM ${T(datasource)}`,
+          query: `SELECT * FROM ${T(datasource)} ORDER BY __time DESC`,
           extraQueryContext: { sqlOuterLimit: 100 },
           cancelToken,
         });
diff --git a/web-console/src/utils/general.spec.ts 
b/web-console/src/utils/general.spec.ts
index 39deab9420a..02c47163260 100644
--- a/web-console/src/utils/general.spec.ts
+++ b/web-console/src/utils/general.spec.ts
@@ -25,6 +25,7 @@ import {
   formatMegabytes,
   formatMillions,
   formatNumber,
+  formatNumberAbbreviated,
   formatPercent,
   hashJoaat,
   moveElement,
@@ -106,6 +107,18 @@ describe('general', () => {
     });
   });
 
+  describe('formatNumberAbbreviated', () => {
+    it('works', () => {
+      expect(formatNumberAbbreviated(null as any)).toEqual('0');
+      expect(formatNumberAbbreviated(0)).toEqual('0');
+      expect(formatNumberAbbreviated(5)).toEqual('5');
+      expect(formatNumberAbbreviated(5.1)).toEqual('5.1');
+      expect(formatNumberAbbreviated(10000)).toEqual('10K');
+      expect(formatNumberAbbreviated(4000000000)).toEqual('4B');
+      expect(formatNumberAbbreviated(1234567890)).toEqual('1.23B');
+    });
+  });
+
   describe('formatInteger', () => {
     it('works', () => {
       expect(formatInteger(10000)).toEqual('10,000');
diff --git a/web-console/src/utils/general.tsx 
b/web-console/src/utils/general.tsx
index 1cb6765b86f..fc1f80a6c13 100644
--- a/web-console/src/utils/general.tsx
+++ b/web-console/src/utils/general.tsx
@@ -279,6 +279,14 @@ export function formatNumber(n: NumberLike): string {
   return (n || 0).toLocaleString('en-US', { maximumFractionDigits: 20 });
 }
 
+export function formatNumberAbbreviated(n: NumberLike): string {
+  return (n || 0).toLocaleString('en-US', {
+    notation: 'compact',
+    compactDisplay: 'short',
+    maximumFractionDigits: 2,
+  });
+}
+
 export function formatRate(n: NumberLike) {
   return numeral(n).format('0,0.0') + '/s';
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to