Skip to content

Commit d640d90

Browse files
craig[bot]mgartner
andcommitted
Merge #155407
155407: opt: fix multi-column correlation bug r=mgartner a=mgartner See the inline comment for details. Fixes #155282 Release note (bug fix): A bug has been fixed that prevented the query optimizer from recognizing correlated filters when one of the filtered columns had a single distinct value across all rows. This bug could lead to sub-optimal query plans in some cases. Co-authored-by: Marcus Gartner <[email protected]>
2 parents e7de41d + fd8dafa commit d640d90

File tree

12 files changed

+180
-65
lines changed

12 files changed

+180
-65
lines changed

pkg/sql/opt/exec/execbuilder/testdata/forecast

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,7 +1560,7 @@ EXPLAIN (OPT, VERBOSE) SELECT * FROM t WHERE a = 3 AND b = 13
15601560
----
15611561
select
15621562
├── columns: a:1 b:2
1563-
├── stats: [rows=1, distinct(1)=1, null(1)=0, distinct(2)=1, null(2)=0]
1563+
├── stats: [rows=1, distinct(1)=1, null(1)=0, distinct(2)=1, null(2)=0, distinct(1,2)=1, null(1,2)=-1]
15641564
│ histogram(1)=
15651565
│ histogram(2)= 0 1
15661566
│ <--- 13
@@ -1603,7 +1603,7 @@ EXPLAIN (OPT, VERBOSE) SELECT * FROM t WHERE a = 3 AND b = 13
16031603
----
16041604
select
16051605
├── columns: a:1 b:2
1606-
├── stats: [rows=1, distinct(1)=1, null(1)=0, distinct(2)=1, null(2)=0]
1606+
├── stats: [rows=1, distinct(1)=1, null(1)=0, distinct(2)=1, null(2)=0, distinct(1,2)=1, null(1,2)=-1]
16071607
│ histogram(1)= 0 1
16081608
│ <--- 3
16091609
│ histogram(2)=

pkg/sql/opt/memo/statistics_builder.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4230,10 +4230,10 @@ func (sb *statisticsBuilder) selectivityFromMultiColDistinctCounts(
42304230
singleColSel := sb.selectivityFromDistinctCount(singleColStat, inputSingleColStat, inputStats.RowCount)
42314231
multiColSelWithIndepAssumption.Multiply(singleColSel)
42324232

4233-
// Don't bother including columns in the multi-column calculation that
4234-
// don't contribute to the selectivity.
4233+
// If the single-column selectivity is 1, then the values calculated
4234+
// below will not change. Keep the column in the set because it may
4235+
// prefix other columns in multi-column stats.
42354236
if singleColSel == props.OneSelectivity {
4236-
multiColSet.Remove(col)
42374237
continue
42384238
}
42394239

pkg/sql/opt/memo/testdata/stats/inverted-geo-multi-column

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ project
7676
└── select
7777
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
7878
├── immutable
79-
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0]
79+
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0, distinct(2,3)=7, null(2,3)=0]
8080
│ histogram(3)= 0 11.111
8181
│ <--- 'banana'
8282
├── key: (1)
@@ -126,7 +126,7 @@ project
126126
└── select
127127
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
128128
├── immutable
129-
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0]
129+
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0, distinct(2,3)=7, null(2,3)=0]
130130
│ histogram(3)= 0 11.111
131131
│ <--- 'banana'
132132
├── key: (1)
@@ -188,7 +188,7 @@ project
188188
└── select
189189
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
190190
├── immutable
191-
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0]
191+
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0, distinct(2,3)=7, null(2,3)=0]
192192
│ histogram(3)= 0 11.111 0 11.111
193193
│ <--- 'banana' --- 'cherry'
194194
├── key: (1)
@@ -241,7 +241,7 @@ project
241241
└── select
242242
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
243243
├── immutable
244-
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0]
244+
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0, distinct(2,3)=7, null(2,3)=0]
245245
│ histogram(3)= 0 11.111 0 11.111
246246
│ <--- 'banana' --- 'cherry'
247247
├── key: (1)
@@ -301,7 +301,7 @@ project
301301
└── select
302302
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null) i:4(int!null)
303303
├── immutable
304-
├── stats: [rows=1, distinct(2)=1, null(2)=0, distinct(3)=1, null(3)=0, distinct(4)=1, null(4)=0, distinct(3,4)=1, null(3,4)=0]
304+
├── stats: [rows=1, distinct(2)=1, null(2)=0, distinct(3)=1, null(3)=0, distinct(4)=1, null(4)=0, distinct(2-4)=1, null(2-4)=0]
305305
│ histogram(3)= 0 0.5 0 0.5
306306
│ <--- 'banana' --- 'cherry'
307307
│ histogram(4)= 0 1
@@ -356,7 +356,7 @@ project
356356
└── select
357357
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null) i:4(int!null)
358358
├── immutable
359-
├── stats: [rows=1, distinct(2)=1, null(2)=0, distinct(3)=1, null(3)=0, distinct(4)=1, null(4)=0, distinct(3,4)=1, null(3,4)=0]
359+
├── stats: [rows=1, distinct(2)=1, null(2)=0, distinct(3)=1, null(3)=0, distinct(4)=1, null(4)=0, distinct(2-4)=1, null(2-4)=0]
360360
│ histogram(3)= 0 0.5 0 0.5
361361
│ <--- 'banana' --- 'cherry'
362362
│ histogram(4)= 0 0.16667 0 0.33333 0 0.5

pkg/sql/opt/memo/testdata/stats/partial-index-scan

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,12 @@ SELECT * FROM a WHERE i < k AND i % 3 = 0
114114
index-join a
115115
├── columns: k:1(int!null) i:2(int!null) s:3(string) t:4(string)
116116
├── immutable
117-
├── stats: [rows=555.556, distinct(1)=555.556, null(1)=0, distinct(2)=500, null(2)=0]
117+
├── stats: [rows=555.556, distinct(1)=555.556, null(1)=0, distinct(2)=500, null(2)=0, distinct(1,2)=555.556, null(1,2)=-1]
118118
├── key: (1)
119119
├── fd: (1)-->(2-4)
120120
└── scan a@idx,partial
121121
├── columns: k:1(int!null) i:2(int!null)
122-
├── stats: [rows=555.556, distinct(1)=555.556, null(1)=0, distinct(2)=500, null(2)=0]
122+
├── stats: [rows=555.556, distinct(1)=555.556, null(1)=0, distinct(2)=500, null(2)=0, distinct(1,2)=555.556, null(1,2)=-1]
123123
├── key: (1)
124124
└── fd: (1)-->(2)
125125

@@ -206,12 +206,12 @@ index-join a
206206
├── fd: (1)-->(2-4), (3)==(4), (4)==(3)
207207
└── select
208208
├── columns: k:1(int!null) s:3(string!null) t:4(string!null)
209-
├── stats: [rows=1.0395, distinct(3)=1.0395, null(3)=0, distinct(4)=1.0395, null(4)=0]
209+
├── stats: [rows=1.0395, distinct(3)=1.0395, null(3)=0, distinct(4)=1.0395, null(4)=0, distinct(3,4)=1.0395, null(3,4)=-1]
210210
├── key: (1)
211211
├── fd: (1)-->(3,4), (3)==(4), (4)==(3)
212212
├── scan a@idx,partial
213213
│ ├── columns: k:1(int!null) s:3(string!null) t:4(string!null)
214-
│ ├── stats: [rows=9.3555, distinct(1)=9.3555, null(1)=0, distinct(3)=9.3555, null(3)=0, distinct(4)=9.3555, null(4)=0]
214+
│ ├── stats: [rows=9.3555, distinct(1)=9.3555, null(1)=0, distinct(3)=9.3555, null(3)=0, distinct(4)=9.3555, null(4)=0, distinct(3,4)=9.3555, null(3,4)=0]
215215
│ ├── key: (1)
216216
│ └── fd: (1)-->(3,4), (3)==(4), (4)==(3)
217217
└── filters
@@ -872,7 +872,7 @@ project
872872
├── inverted constraint: /7/1
873873
│ └── spans: ["x"/"y", "x"/"y"]
874874
├── flags: force-index=partial
875-
├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0]
875+
├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0, distinct(4,7)=2.20441, null(4,7)=0]
876876
└── key: (1)
877877

878878
opt
@@ -889,7 +889,7 @@ index-join inv
889889
├── inverted constraint: /7/1
890890
│ └── spans: ["x"/"y", "x"/"y"]
891891
├── flags: force-index=partial
892-
├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0]
892+
├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0, distinct(4,7)=2.20441, null(4,7)=0]
893893
└── key: (1)
894894

895895
opt
@@ -916,7 +916,7 @@ project
916916
│ ├── inverted constraint: /7/1
917917
│ │ └── spans: ["x"/"y", "x"/"y"]
918918
│ ├── flags: force-index=partial
919-
│ ├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0]
919+
│ ├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0, distinct(4,7)=2.20441, null(4,7)=0]
920920
│ └── key: (1)
921921
└── filters
922922
└── s:4 = 'foo' [type=bool, outer=(4), constraints=(/4: [/'foo' - /'foo']; tight), fd=()-->(4)]
@@ -940,7 +940,7 @@ select
940940
│ ├── inverted constraint: /7/1
941941
│ │ └── spans: ["x"/"y", "x"/"y"]
942942
│ ├── flags: force-index=partial
943-
│ ├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0]
943+
│ ├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0, distinct(4,7)=2.20441, null(4,7)=0]
944944
│ └── key: (1)
945945
└── filters
946946
└── s:4 = 'foo' [type=bool, outer=(4), constraints=(/4: [/'foo' - /'foo']; tight), fd=()-->(4)]
@@ -964,7 +964,7 @@ select
964964
│ ├── inverted constraint: /7/1
965965
│ │ └── spans: ["x"/"y", "x"/"y"]
966966
│ ├── flags: force-index=partial
967-
│ ├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0]
967+
│ ├── stats: [rows=2.20441, distinct(4)=2, null(4)=0, distinct(7)=2.20441, null(7)=0, distinct(4,7)=2.20441, null(4,7)=0]
968968
│ └── key: (1)
969969
└── filters
970970
├── (i:2 > 0) AND (i:2 < 10) [type=bool, outer=(2), constraints=(/2: [/1 - /9]; tight)]
@@ -1224,7 +1224,7 @@ project
12241224
└── select
12251225
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
12261226
├── immutable
1227-
├── stats: [rows=16.6667, distinct(2)=7, null(2)=0, distinct(3)=3, null(3)=0]
1227+
├── stats: [rows=16.6667, distinct(2)=7, null(2)=0, distinct(3)=3, null(3)=0, distinct(2,3)=7, null(2,3)=0]
12281228
├── key: (1)
12291229
├── fd: (1)-->(2,3)
12301230
├── index-join spatial
@@ -1251,7 +1251,7 @@ project
12511251
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x10\x00\x00\x00\x00\x00\x00\x00"]
12521252
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x01", "B\xfd\x12\x00\x00\x00\x00\x00\x00\x00")
12531253
│ │ └── ["B\xfd\x14\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x14\x00\x00\x00\x00\x00\x00\x00"]
1254-
│ ├── stats: [rows=16.6667, distinct(1)=16.6667, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=16.6667, null(7)=0]
1254+
│ ├── stats: [rows=16.6667, distinct(1)=16.6667, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=16.6667, null(7)=0, distinct(3,7)=16.6667, null(3,7)=0]
12551255
│ └── key: (1,7)
12561256
└── filters
12571257
└── st_intersects('010200000002000000000000000000E03F000000000000E03F666666666666E63F666666666666E63F', g:2) [type=bool, outer=(2), immutable, constraints=(/2: (/NULL - ])]
@@ -1269,7 +1269,7 @@ project
12691269
└── select
12701270
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
12711271
├── immutable
1272-
├── stats: [rows=5.55556, distinct(2)=5.55556, null(2)=0, distinct(3)=1, null(3)=0]
1272+
├── stats: [rows=5.55556, distinct(2)=5.55556, null(2)=0, distinct(3)=1, null(3)=0, distinct(2,3)=5.55556, null(2,3)=0]
12731273
├── key: (1)
12741274
├── fd: ()-->(3), (1)-->(2)
12751275
├── index-join spatial
@@ -1296,7 +1296,7 @@ project
12961296
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x10\x00\x00\x00\x00\x00\x00\x00"]
12971297
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x01", "B\xfd\x12\x00\x00\x00\x00\x00\x00\x00")
12981298
│ │ └── ["B\xfd\x14\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x14\x00\x00\x00\x00\x00\x00\x00"]
1299-
│ ├── stats: [rows=16.6667, distinct(1)=16.6667, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=16.6667, null(7)=0]
1299+
│ ├── stats: [rows=16.6667, distinct(1)=16.6667, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=16.6667, null(7)=0, distinct(3,7)=16.6667, null(3,7)=0]
13001300
│ └── key: (1,7)
13011301
└── filters
13021302
├── st_intersects('010200000002000000000000000000E03F000000000000E03F666666666666E63F666666666666E63F', g:2) [type=bool, outer=(2), immutable, constraints=(/2: (/NULL - ])]
@@ -1335,7 +1335,7 @@ project
13351335
└── select
13361336
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
13371337
├── immutable
1338-
├── stats: [rows=8.54701, distinct(2)=7, null(2)=0, distinct(3)=3, null(3)=0]
1338+
├── stats: [rows=8.54701, distinct(2)=7, null(2)=0, distinct(3)=3, null(3)=0, distinct(2,3)=7, null(2,3)=0]
13391339
├── key: (1)
13401340
├── fd: (1)-->(2,3)
13411341
├── index-join spatial
@@ -1362,7 +1362,7 @@ project
13621362
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x10\x00\x00\x00\x00\x00\x00\x00"]
13631363
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x01", "B\xfd\x12\x00\x00\x00\x00\x00\x00\x00")
13641364
│ │ └── ["B\xfd\x14\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x14\x00\x00\x00\x00\x00\x00\x00"]
1365-
│ ├── stats: [rows=8.54701, distinct(1)=8.54701, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=8.54701, null(7)=0]
1365+
│ ├── stats: [rows=8.54701, distinct(1)=8.54701, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=8.54701, null(7)=0, distinct(3,7)=8.54701, null(3,7)=0]
13661366
│ └── key: (1,7)
13671367
└── filters
13681368
└── st_intersects('010200000002000000000000000000E03F000000000000E03F666666666666E63F666666666666E63F', g:2) [type=bool, outer=(2), immutable, constraints=(/2: (/NULL - ])]
@@ -1378,7 +1378,7 @@ project
13781378
└── select
13791379
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
13801380
├── immutable
1381-
├── stats: [rows=2.849, distinct(2)=2.849, null(2)=0, distinct(3)=1, null(3)=0]
1381+
├── stats: [rows=2.849, distinct(2)=2.849, null(2)=0, distinct(3)=1, null(3)=0, distinct(2,3)=2.849, null(2,3)=0]
13821382
├── key: (1)
13831383
├── fd: ()-->(3), (1)-->(2)
13841384
├── index-join spatial
@@ -1405,7 +1405,7 @@ project
14051405
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x10\x00\x00\x00\x00\x00\x00\x00"]
14061406
│ │ ├── ["B\xfd\x10\x00\x00\x00\x00\x00\x00\x01", "B\xfd\x12\x00\x00\x00\x00\x00\x00\x00")
14071407
│ │ └── ["B\xfd\x14\x00\x00\x00\x00\x00\x00\x00", "B\xfd\x14\x00\x00\x00\x00\x00\x00\x00"]
1408-
│ ├── stats: [rows=8.54701, distinct(1)=8.54701, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=8.54701, null(7)=0]
1408+
│ ├── stats: [rows=8.54701, distinct(1)=8.54701, null(1)=0, distinct(3)=3, null(3)=0, distinct(7)=8.54701, null(7)=0, distinct(3,7)=8.54701, null(3,7)=0]
14091409
│ └── key: (1,7)
14101410
└── filters
14111411
├── st_intersects('010200000002000000000000000000E03F000000000000E03F666666666666E63F666666666666E63F', g:2) [type=bool, outer=(2), immutable, constraints=(/2: (/NULL - ])]
@@ -1465,7 +1465,7 @@ project
14651465
└── select
14661466
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
14671467
├── immutable
1468-
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0]
1468+
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0, distinct(2,3)=7, null(2,3)=0]
14691469
│ histogram(3)= 0 11.111 0 11.111
14701470
│ <--- 'banana' --- 'cherry'
14711471
├── key: (1)
@@ -1516,7 +1516,7 @@ project
15161516
└── select
15171517
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
15181518
├── immutable
1519-
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0]
1519+
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0, distinct(2,3)=7, null(2,3)=0]
15201520
│ histogram(3)= 0 11.111
15211521
│ <--- 'banana'
15221522
├── key: (1)
@@ -1603,7 +1603,7 @@ project
16031603
└── select
16041604
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
16051605
├── immutable
1606-
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0]
1606+
├── stats: [rows=22.2222, distinct(2)=7, null(2)=0, distinct(3)=2, null(3)=0, distinct(2,3)=7, null(2,3)=0]
16071607
│ histogram(3)= 0 11.111 0 11.111
16081608
│ <--- 'banana' --- 'cherry'
16091609
├── key: (1)
@@ -1652,7 +1652,7 @@ project
16521652
└── select
16531653
├── columns: k:1(int!null) g:2(geometry!null) s:3(string!null)
16541654
├── immutable
1655-
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0]
1655+
├── stats: [rows=11.1111, distinct(2)=7, null(2)=0, distinct(3)=1, null(3)=0, distinct(2,3)=7, null(2,3)=0]
16561656
│ histogram(3)= 0 11.111
16571657
│ <--- 'banana'
16581658
├── key: (1)

pkg/sql/opt/memo/testdata/stats/scan

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2136,7 +2136,7 @@ index-join t
21362136
├── constraint: /2/1
21372137
│ ├── [/NULL/5 - /NULL/5]
21382138
│ └── [/5 - /5]
2139-
├── stats: [rows=1.502, distinct(1)=1.502, null(1)=0, distinct(2)=1.502, null(2)=1.502]
2139+
├── stats: [rows=1.502, distinct(1)=1.502, null(1)=0, distinct(2)=1.502, null(2)=1.502, distinct(1,2)=1.502, null(1,2)=1.502]
21402140
├── key: (1)
21412141
└── fd: (1)-->(2)
21422142

@@ -3048,7 +3048,7 @@ top-k
30483048
│ ├── [/8/4/10/1/NULL/'2022-02-04 19:25:25.356+00' - /8/4/10/1/NULL/'2022-02-11 19:25:25.356+00']
30493049
│ └── [/8/6/10/1/NULL/'2022-02-04 19:25:25.356+00' - /8/6/10/1/NULL/'2022-02-11 19:25:25.356+00']
30503050
├── immutable
3051-
├── stats: [rows=1, distinct(1)=1, null(1)=0, distinct(2)=1, null(2)=1, distinct(3)=1, null(3)=0, distinct(4)=1, null(4)=0, distinct(5)=1, null(5)=0, distinct(6)=1, null(6)=0, distinct(1,4)=1, null(1,4)=0, distinct(2,3,5)=1, null(2,3,5)=0, distinct(1-5)=1, null(1-5)=0]
3051+
├── stats: [rows=1, distinct(1)=1, null(1)=0, distinct(2)=1, null(2)=1, distinct(3)=1, null(3)=0, distinct(4)=1, null(4)=0, distinct(5)=1, null(5)=0, distinct(6)=1, null(6)=0, distinct(1,4,6)=1, null(1,4,6)=0, distinct(2,3,5)=1, null(2,3,5)=0, distinct(1-6)=1, null(1-6)=0]
30523052
│ histogram(1)= 0 0 1 1.6534e-15
30533053
│ <--- '2022-02-04 19:25:25.355999+00' --- '2022-02-11 19:25:25.356+00'
30543054
│ histogram(3)= 0 1

0 commit comments

Comments
 (0)