This is an automated email from the ASF dual-hosted git repository. maxyang pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudberry.git
commit 525b87facb2f9a806386f9a5de53a63102e1735b Author: Chris Hajas <[email protected]> AuthorDate: Fri Mar 17 09:25:59 2023 -0700 Disable GUC optimizer_penalize_broadcast_threshold when set to 0 (#15209) Currently, when optimizer_penalize_broadcast_threshold is set to 0, it will disable broadcasts when the estimated tuples to be broadcast is greater than 0. Because the value of this GUC is limited to INT_MAX, there is no way to disable this guc. This commit disables penalizing broadcast when this value is 0. --- .../dxl/minidump/DisableBroadcastThreshold.mdp | 1172 ++++++++++++++++++++ .../gporca/libgpdbcost/src/CCostModelGPDB.cpp | 3 +- src/backend/gporca/server/CMakeLists.txt | 2 +- src/backend/utils/misc/guc_gp.c | 4 +- 4 files changed, 1177 insertions(+), 4 deletions(-) diff --git a/src/backend/gporca/data/dxl/minidump/DisableBroadcastThreshold.mdp b/src/backend/gporca/data/dxl/minidump/DisableBroadcastThreshold.mdp new file mode 100644 index 0000000000..40e83ad6db --- /dev/null +++ b/src/backend/gporca/data/dxl/minidump/DisableBroadcastThreshold.mdp @@ -0,0 +1,1172 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dxl:DXLMessage xmlns:dxl="http://greenplum.com/dxl/2010/12/"> + <dxl:Comment><![CDATA[ + Objective: Setting optimizer_penalize_broadcast_threshold to 0 should disable this traceflag + and not penalize broadcasts. We should see a broadcast instead of gathers in this case. + + set optimizer_penalize_broadcast_threshold = 0; + set optimizer_enable_motion_redistribute = off; + create table foo (a int); + create table bar (a int) distributed randomly; + insert into foo select i from generate_series(1,100000)i; + insert into bar select i from generate_series(1,1000)i; + analyze foo; + analyze bar; + + explain select * from foo, bar where foo.a=bar.a; + QUERY PLAN + ------------------------------------------------------------------------------------------------------ + Gather Motion 3:1 (slice1; segments: 3) (cost=0.00..869.06 rows=1000 width=8) + -> Hash Join (cost=0.00..869.03 rows=334 width=8) + Hash Cond: (foo.a = bar.a) + -> Seq Scan on foo (cost=0.00..431.62 rows=33334 width=4) + -> Hash (cost=431.08..431.08 rows=1000 width=4) + -> Broadcast Motion 3:3 (slice2; segments: 3) (cost=0.00..431.08 rows=1000 width=4) + -> Seq Scan on bar (cost=0.00..431.01 rows=334 width=4) + Optimizer: Pivotal Optimizer (GPORCA) + (8 rows) + ]]></dxl:Comment> + <dxl:Thread Id="0"> + <dxl:OptimizerConfig> + <dxl:EnumeratorConfig Id="0" PlanSamples="0" CostThreshold="0"/> + <dxl:StatisticsConfig DampingFactorFilter="0.750000" DampingFactorJoin="0.000000" DampingFactorGroupBy="0.750000" MaxStatsBuckets="100"/> + <dxl:CTEConfig CTEInliningCutoff="0"/> + <dxl:WindowOids RowNumber="3100" Rank="3101"/> + <dxl:CostModelConfig CostModelType="1" SegmentsForCosting="3"> + <dxl:CostParams> + <dxl:CostParam Name="NLJFactor" Value="1024.000000" LowerBound="1023.500000" UpperBound="1024.500000"/> + </dxl:CostParams> + </dxl:CostModelConfig> + <dxl:Hint JoinArityForAssociativityCommutativity="18" ArrayExpansionThreshold="20" JoinOrderDynamicProgThreshold="10" BroadcastThreshold="0" EnforceConstraintsOnDML="false" PushGroupByBelowSetopThreshold="10" XformBindThreshold="0" SkewFactor="0"/> + <dxl:TraceFlags Value="102001,102002,102003,102043,102074,102120,102144,103001,103006,103007,103008,103014,103022,103026,103027,103029,103033,103038,103040,104002,104003,104004,104005,105000,106000"/> + </dxl:OptimizerConfig> + <dxl:Metadata SystemIds="0.GPDB"> + <dxl:Type Mdid="0.16.1.0" Name="bool" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="1" PassByValue="true"> + <dxl:DistrOpfamily Mdid="0.2222.1.0"/> + <dxl:LegacyDistrOpfamily Mdid="0.7124.1.0"/> + <dxl:EqualityOp Mdid="0.91.1.0"/> + <dxl:InequalityOp Mdid="0.85.1.0"/> + <dxl:LessThanOp Mdid="0.58.1.0"/> + <dxl:LessThanEqualsOp Mdid="0.1694.1.0"/> + <dxl:GreaterThanOp Mdid="0.59.1.0"/> + <dxl:GreaterThanEqualsOp Mdid="0.1695.1.0"/> + <dxl:ComparisonOp Mdid="0.1693.1.0"/> + <dxl:ArrayType Mdid="0.1000.1.0"/> + <dxl:MinAgg Mdid="0.0.0.0"/> + <dxl:MaxAgg Mdid="0.0.0.0"/> + <dxl:AvgAgg Mdid="0.0.0.0"/> + <dxl:SumAgg Mdid="0.0.0.0"/> + <dxl:CountAgg Mdid="0.2147.1.0"/> + </dxl:Type> + <dxl:Type Mdid="0.23.1.0" Name="int4" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true"> + <dxl:DistrOpfamily Mdid="0.1977.1.0"/> + <dxl:LegacyDistrOpfamily Mdid="0.7100.1.0"/> + <dxl:EqualityOp Mdid="0.96.1.0"/> + <dxl:InequalityOp Mdid="0.518.1.0"/> + <dxl:LessThanOp Mdid="0.97.1.0"/> + <dxl:LessThanEqualsOp Mdid="0.523.1.0"/> + <dxl:GreaterThanOp Mdid="0.521.1.0"/> + <dxl:GreaterThanEqualsOp Mdid="0.525.1.0"/> + <dxl:ComparisonOp Mdid="0.351.1.0"/> + <dxl:ArrayType Mdid="0.1007.1.0"/> + <dxl:MinAgg Mdid="0.2132.1.0"/> + <dxl:MaxAgg Mdid="0.2116.1.0"/> + <dxl:AvgAgg Mdid="0.2101.1.0"/> + <dxl:SumAgg Mdid="0.2108.1.0"/> + <dxl:CountAgg Mdid="0.2147.1.0"/> + </dxl:Type> + <dxl:Type Mdid="0.26.1.0" Name="oid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true"> + <dxl:DistrOpfamily Mdid="0.1990.1.0"/> + <dxl:LegacyDistrOpfamily Mdid="0.7109.1.0"/> + <dxl:EqualityOp Mdid="0.607.1.0"/> + <dxl:InequalityOp Mdid="0.608.1.0"/> + <dxl:LessThanOp Mdid="0.609.1.0"/> + <dxl:LessThanEqualsOp Mdid="0.611.1.0"/> + <dxl:GreaterThanOp Mdid="0.610.1.0"/> + <dxl:GreaterThanEqualsOp Mdid="0.612.1.0"/> + <dxl:ComparisonOp Mdid="0.356.1.0"/> + <dxl:ArrayType Mdid="0.1028.1.0"/> + <dxl:MinAgg Mdid="0.2134.1.0"/> + <dxl:MaxAgg Mdid="0.2118.1.0"/> + <dxl:AvgAgg Mdid="0.0.0.0"/> + <dxl:SumAgg Mdid="0.0.0.0"/> + <dxl:CountAgg Mdid="0.2147.1.0"/> + </dxl:Type> + <dxl:Type Mdid="0.27.1.0" Name="tid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="true" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="6" PassByValue="false"> + <dxl:DistrOpfamily Mdid="0.2227.1.0"/> + <dxl:LegacyDistrOpfamily Mdid="0.7110.1.0"/> + <dxl:EqualityOp Mdid="0.387.1.0"/> + <dxl:InequalityOp Mdid="0.402.1.0"/> + <dxl:LessThanOp Mdid="0.2799.1.0"/> + <dxl:LessThanEqualsOp Mdid="0.2801.1.0"/> + <dxl:GreaterThanOp Mdid="0.2800.1.0"/> + <dxl:GreaterThanEqualsOp Mdid="0.2802.1.0"/> + <dxl:ComparisonOp Mdid="0.2794.1.0"/> + <dxl:ArrayType Mdid="0.1010.1.0"/> + <dxl:MinAgg Mdid="0.2798.1.0"/> + <dxl:MaxAgg Mdid="0.2797.1.0"/> + <dxl:AvgAgg Mdid="0.0.0.0"/> + <dxl:SumAgg Mdid="0.0.0.0"/> + <dxl:CountAgg Mdid="0.2147.1.0"/> + </dxl:Type> + <dxl:Type Mdid="0.29.1.0" Name="cid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true"> + <dxl:DistrOpfamily Mdid="0.2226.1.0"/> + <dxl:EqualityOp Mdid="0.385.1.0"/> + <dxl:InequalityOp Mdid="0.0.0.0"/> + <dxl:LessThanOp Mdid="0.0.0.0"/> + <dxl:LessThanEqualsOp Mdid="0.0.0.0"/> + <dxl:GreaterThanOp Mdid="0.0.0.0"/> + <dxl:GreaterThanEqualsOp Mdid="0.0.0.0"/> + <dxl:ComparisonOp Mdid="0.0.0.0"/> + <dxl:ArrayType Mdid="0.1012.1.0"/> + <dxl:MinAgg Mdid="0.0.0.0"/> + <dxl:MaxAgg Mdid="0.0.0.0"/> + <dxl:AvgAgg Mdid="0.0.0.0"/> + <dxl:SumAgg Mdid="0.0.0.0"/> + <dxl:CountAgg Mdid="0.2147.1.0"/> + </dxl:Type> + <dxl:Type Mdid="0.28.1.0" Name="xid" IsRedistributable="true" IsHashable="true" IsMergeJoinable="false" IsComposite="false" IsTextRelated="false" IsFixedLength="true" Length="4" PassByValue="true"> + <dxl:DistrOpfamily Mdid="0.2225.1.0"/> + <dxl:EqualityOp Mdid="0.352.1.0"/> + <dxl:InequalityOp Mdid="0.3315.1.0"/> + <dxl:LessThanOp Mdid="0.0.0.0"/> + <dxl:LessThanEqualsOp Mdid="0.0.0.0"/> + <dxl:GreaterThanOp Mdid="0.0.0.0"/> + <dxl:GreaterThanEqualsOp Mdid="0.0.0.0"/> + <dxl:ComparisonOp Mdid="0.0.0.0"/> + <dxl:ArrayType Mdid="0.1011.1.0"/> + <dxl:MinAgg Mdid="0.0.0.0"/> + <dxl:MaxAgg Mdid="0.0.0.0"/> + <dxl:AvgAgg Mdid="0.0.0.0"/> + <dxl:SumAgg Mdid="0.0.0.0"/> + <dxl:CountAgg Mdid="0.2147.1.0"/> + </dxl:Type> + <dxl:RelationStatistics Mdid="2.16395.1.0" Name="foo" Rows="100000.000000" RelPages="111" RelAllVisible="0" EmptyRelation="false"/> + <dxl:Relation Mdid="6.16395.1.0" Name="foo" IsTemporary="false" StorageType="Heap" DistributionPolicy="Hash" DistributionColumns="0" Keys="7,1"> + <dxl:Columns> + <dxl:Column Name="a" Attno="1" Mdid="0.23.1.0" Nullable="true" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="xmin" Attno="-2" Mdid="0.28.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="cmin" Attno="-3" Mdid="0.29.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="xmax" Attno="-4" Mdid="0.28.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="cmax" Attno="-5" Mdid="0.29.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="tableoid" Attno="-6" Mdid="0.26.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="gp_segment_id" Attno="-7" Mdid="0.23.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + </dxl:Columns> + <dxl:IndexInfoList/> + <dxl:CheckConstraints/> + <dxl:DistrOpfamilies> + <dxl:DistrOpfamily Mdid="0.1977.1.0"/> + </dxl:DistrOpfamilies> + </dxl:Relation> + <dxl:RelationStatistics Mdid="2.16398.1.0" Name="bar" Rows="1000.000000" RelPages="3" RelAllVisible="0" EmptyRelation="false"/> + <dxl:Relation Mdid="6.16398.1.0" Name="bar" IsTemporary="false" StorageType="Heap" DistributionPolicy="Random" Keys="7,1"> + <dxl:Columns> + <dxl:Column Name="a" Attno="1" Mdid="0.23.1.0" Nullable="true" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="ctid" Attno="-1" Mdid="0.27.1.0" Nullable="false" ColWidth="6"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="xmin" Attno="-2" Mdid="0.28.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="cmin" Attno="-3" Mdid="0.29.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="xmax" Attno="-4" Mdid="0.28.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="cmax" Attno="-5" Mdid="0.29.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="tableoid" Attno="-6" Mdid="0.26.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + <dxl:Column Name="gp_segment_id" Attno="-7" Mdid="0.23.1.0" Nullable="false" ColWidth="4"> + <dxl:DefaultValue/> + </dxl:Column> + </dxl:Columns> + <dxl:IndexInfoList/> + <dxl:CheckConstraints/> + </dxl:Relation> + <dxl:ColumnStatistics Mdid="1.16395.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false"> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="6"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="938"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="938"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="1931"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="1931"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="2896"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="2896"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="3870"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="3870"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="4814"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="4814"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="5745"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="5745"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="6778"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="6778"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="7812"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="7812"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="8916"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="8916"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="9984"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="9984"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="10959"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="10959"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="11990"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="11990"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="12970"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="12970"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="14025"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="14025"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="14946"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="14946"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="15967"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="15967"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="17008"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="17008"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="18037"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="18037"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="19094"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="19094"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="20064"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="20064"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="21119"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="21119"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="22079"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="22079"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="23067"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="23067"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="24069"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="24069"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="25136"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="25136"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="26117"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="26117"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="27155"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="27155"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="28102"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="28102"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="29101"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="29101"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="30029"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="30029"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="31067"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="31067"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="32086"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="32086"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="33051"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="33051"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="33999"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="33999"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="34993"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="34993"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="36024"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="36024"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="37016"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="37016"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="38031"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="38031"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="38968"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="38968"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="39944"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="39944"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="40975"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="40975"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="41978"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="41978"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="42895"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="42895"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="43902"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="43902"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="44863"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="44863"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="45858"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="45858"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="46888"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="46888"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="47801"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="47801"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="48801"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="48801"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="49801"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="49801"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50890"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50890"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="51944"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="51944"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="52911"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="52911"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="53838"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="53838"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="54846"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="54846"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="55805"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="55805"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="56783"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="56783"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="57715"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="57715"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="58628"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="58628"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="59712"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="59712"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="60788"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="60788"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="61778"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="61778"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="62774"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="62774"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="63715"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="63715"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="64813"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="64813"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="65825"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="65825"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="66876"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="66876"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="67897"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="67897"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="68952"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="68952"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="70053"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="70053"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="71197"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="71197"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="72245"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="72245"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="73274"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="73274"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="74315"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="74315"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="75265"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="75265"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="76188"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="76188"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="77138"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="77138"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="78070"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="78070"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="79102"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="79102"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="80137"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="80137"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="81093"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="81093"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="81994"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="81994"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="82939"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="82939"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="83960"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="83960"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="85089"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="85089"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="86012"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="86012"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="87034"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="87034"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="87989"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="87989"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="89013"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="89013"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="90001"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="90001"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="91048"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="91048"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="92056"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="92056"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="93069"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="93069"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="94039"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="94039"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="94966"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="94966"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="95992"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="95992"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="97032"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="97032"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="97984"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="97984"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="98996"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="1000.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="98996"/> + <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="99999"/> + </dxl:StatsBucket> + </dxl:ColumnStatistics> + <dxl:RelationExtendedStatistics Mdid="10.16395.1.0" Name="foo"/> + <dxl:MDCast Mdid="3.23.1.0;23.1.0" Name="int4" BinaryCoercible="true" SourceTypeId="0.23.1.0" DestinationTypeId="0.23.1.0" CastFuncId="0.0.0.0" CoercePathType="0"/> + <dxl:RelationExtendedStatistics Mdid="10.16398.1.0" Name="bar"/> + <dxl:GPDBScalarOp Mdid="0.96.1.0" Name="=" ComparisonType="Eq" ReturnsNullOnNullInput="true" IsNDVPreserving="false"> + <dxl:LeftType Mdid="0.23.1.0"/> + <dxl:RightType Mdid="0.23.1.0"/> + <dxl:ResultType Mdid="0.16.1.0"/> + <dxl:OpFunc Mdid="0.65.1.0"/> + <dxl:Commutator Mdid="0.96.1.0"/> + <dxl:InverseOp Mdid="0.518.1.0"/> + <dxl:HashOpfamily Mdid="0.1977.1.0"/> + <dxl:LegacyHashOpfamily Mdid="0.7100.1.0"/> + <dxl:Opfamilies> + <dxl:Opfamily Mdid="0.1976.1.0"/> + <dxl:Opfamily Mdid="0.1977.1.0"/> + <dxl:Opfamily Mdid="0.4054.1.0"/> + <dxl:Opfamily Mdid="0.7100.1.0"/> + <dxl:Opfamily Mdid="0.10009.1.0"/> + </dxl:Opfamilies> + </dxl:GPDBScalarOp> + <dxl:ColumnStatistics Mdid="1.16398.1.0.0" Name="a" Width="4.000000" NullFreq="0.000000" NdvRemain="0.000000" FreqRemain="0.000000" ColStatsMissing="false"> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="1"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="10"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="10"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="20"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="20"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="30"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="30"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="40"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="40"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="50"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="50"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="60"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="60"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="70"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="70"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="80"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="80"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="90"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="90"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="100"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="100"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="110"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="110"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="120"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="120"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="130"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="130"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="140"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="140"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="150"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="150"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="160"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="160"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="170"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="170"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="180"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="180"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="190"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="190"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="200"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="200"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="210"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="210"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="220"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="220"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="230"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="230"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="240"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="240"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="250"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="250"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="260"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="260"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="270"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="270"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="280"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="280"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="290"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="290"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="300"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="300"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="310"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="310"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="320"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="320"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="330"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="330"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="340"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="340"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="350"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="350"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="360"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="360"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="370"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="370"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="380"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="380"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="390"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="390"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="400"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="400"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="410"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="410"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="420"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="420"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="430"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="430"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="440"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="440"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="450"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="450"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="460"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="460"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="470"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="470"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="480"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="480"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="490"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="490"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="500"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="500"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="510"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="510"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="520"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="520"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="530"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="530"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="540"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="540"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="550"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="550"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="560"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="560"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="570"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="570"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="580"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="580"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="590"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="590"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="600"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="600"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="610"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="610"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="620"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="620"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="630"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="630"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="640"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="640"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="650"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="650"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="660"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="660"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="670"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="670"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="680"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="680"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="690"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="690"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="700"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="700"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="710"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="710"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="720"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="720"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="730"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="730"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="740"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="740"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="750"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="750"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="760"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="760"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="770"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="770"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="780"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="780"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="790"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="790"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="800"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="800"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="810"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="810"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="820"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="820"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="830"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="830"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="840"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="840"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="850"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="850"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="860"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="860"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="870"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="870"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="880"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="880"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="890"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="890"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="900"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="900"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="910"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="910"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="920"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="920"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="930"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="930"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="940"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="940"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="950"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="950"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="960"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="960"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="970"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="970"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="980"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="980"/> + <dxl:UpperBound Closed="false" TypeMdid="0.23.1.0" Value="990"/> + </dxl:StatsBucket> + <dxl:StatsBucket Frequency="0.010000" DistinctValues="10.000000"> + <dxl:LowerBound Closed="true" TypeMdid="0.23.1.0" Value="990"/> + <dxl:UpperBound Closed="true" TypeMdid="0.23.1.0" Value="1000"/> + </dxl:StatsBucket> + </dxl:ColumnStatistics> + </dxl:Metadata> + <dxl:Query> + <dxl:OutputColumns> + <dxl:Ident ColId="1" ColName="a" TypeMdid="0.23.1.0"/> + <dxl:Ident ColId="9" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:OutputColumns> + <dxl:CTEList/> + <dxl:LogicalJoin JoinType="Inner"> + <dxl:LogicalGet> + <dxl:TableDescriptor Mdid="6.16395.1.0" TableName="foo" LockMode="1"> + <dxl:Columns> + <dxl:Column ColId="1" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/> + <dxl:Column ColId="2" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/> + <dxl:Column ColId="3" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="4" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="5" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="6" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="7" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/> + <dxl:Column ColId="8" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/> + </dxl:Columns> + </dxl:TableDescriptor> + </dxl:LogicalGet> + <dxl:LogicalGet> + <dxl:TableDescriptor Mdid="6.16398.1.0" TableName="bar" LockMode="1"> + <dxl:Columns> + <dxl:Column ColId="9" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/> + <dxl:Column ColId="10" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/> + <dxl:Column ColId="11" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="12" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="13" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="14" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="15" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/> + <dxl:Column ColId="16" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/> + </dxl:Columns> + </dxl:TableDescriptor> + </dxl:LogicalGet> + <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.96.1.0"> + <dxl:Ident ColId="1" ColName="a" TypeMdid="0.23.1.0"/> + <dxl:Ident ColId="9" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:Comparison> + </dxl:LogicalJoin> + </dxl:Query> + <dxl:Plan Id="0" SpaceSize="7"> + <dxl:GatherMotion InputSegments="0,1,2" OutputSegments="-1"> + <dxl:Properties> + <dxl:Cost StartupCost="0" TotalCost="869.056127" Rows="1000.000000" Width="8"/> + </dxl:Properties> + <dxl:ProjList> + <dxl:ProjElem ColId="0" Alias="a"> + <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:ProjElem> + <dxl:ProjElem ColId="8" Alias="a"> + <dxl:Ident ColId="8" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:ProjElem> + </dxl:ProjList> + <dxl:Filter/> + <dxl:SortingColumnList/> + <dxl:HashJoin JoinType="Inner"> + <dxl:Properties> + <dxl:Cost StartupCost="0" TotalCost="869.026313" Rows="1000.000000" Width="8"/> + </dxl:Properties> + <dxl:ProjList> + <dxl:ProjElem ColId="0" Alias="a"> + <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:ProjElem> + <dxl:ProjElem ColId="8" Alias="a"> + <dxl:Ident ColId="8" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:ProjElem> + </dxl:ProjList> + <dxl:Filter/> + <dxl:JoinFilter/> + <dxl:HashCondList> + <dxl:Comparison ComparisonOperator="=" OperatorMdid="0.96.1.0"> + <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/> + <dxl:Ident ColId="8" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:Comparison> + </dxl:HashCondList> + <dxl:TableScan> + <dxl:Properties> + <dxl:Cost StartupCost="0" TotalCost="431.623333" Rows="100000.000000" Width="4"/> + </dxl:Properties> + <dxl:ProjList> + <dxl:ProjElem ColId="0" Alias="a"> + <dxl:Ident ColId="0" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:ProjElem> + </dxl:ProjList> + <dxl:Filter/> + <dxl:TableDescriptor Mdid="6.16395.1.0" TableName="foo" LockMode="1"> + <dxl:Columns> + <dxl:Column ColId="0" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/> + <dxl:Column ColId="1" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/> + <dxl:Column ColId="2" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="3" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="4" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="5" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="6" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/> + <dxl:Column ColId="7" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/> + </dxl:Columns> + </dxl:TableDescriptor> + </dxl:TableScan> + <dxl:BroadcastMotion InputSegments="0,1,2" OutputSegments="0,1,2"> + <dxl:Properties> + <dxl:Cost StartupCost="0" TotalCost="431.080313" Rows="3000.000000" Width="4"/> + </dxl:Properties> + <dxl:ProjList> + <dxl:ProjElem ColId="8" Alias="a"> + <dxl:Ident ColId="8" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:ProjElem> + </dxl:ProjList> + <dxl:Filter/> + <dxl:SortingColumnList/> + <dxl:TableScan> + <dxl:Properties> + <dxl:Cost StartupCost="0" TotalCost="431.006233" Rows="1000.000000" Width="4"/> + </dxl:Properties> + <dxl:ProjList> + <dxl:ProjElem ColId="8" Alias="a"> + <dxl:Ident ColId="8" ColName="a" TypeMdid="0.23.1.0"/> + </dxl:ProjElem> + </dxl:ProjList> + <dxl:Filter/> + <dxl:TableDescriptor Mdid="6.16398.1.0" TableName="bar" LockMode="1"> + <dxl:Columns> + <dxl:Column ColId="8" Attno="1" ColName="a" TypeMdid="0.23.1.0" ColWidth="4"/> + <dxl:Column ColId="9" Attno="-1" ColName="ctid" TypeMdid="0.27.1.0" ColWidth="6"/> + <dxl:Column ColId="10" Attno="-2" ColName="xmin" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="11" Attno="-3" ColName="cmin" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="12" Attno="-4" ColName="xmax" TypeMdid="0.28.1.0" ColWidth="4"/> + <dxl:Column ColId="13" Attno="-5" ColName="cmax" TypeMdid="0.29.1.0" ColWidth="4"/> + <dxl:Column ColId="14" Attno="-6" ColName="tableoid" TypeMdid="0.26.1.0" ColWidth="4"/> + <dxl:Column ColId="15" Attno="-7" ColName="gp_segment_id" TypeMdid="0.23.1.0" ColWidth="4"/> + </dxl:Columns> + </dxl:TableDescriptor> + </dxl:TableScan> + </dxl:BroadcastMotion> + </dxl:HashJoin> + </dxl:GatherMotion> + </dxl:Plan> + </dxl:Thread> +</dxl:DXLMessage> diff --git a/src/backend/gporca/libgpdbcost/src/CCostModelGPDB.cpp b/src/backend/gporca/libgpdbcost/src/CCostModelGPDB.cpp index d48b96b0ef..0429e0a71a 100644 --- a/src/backend/gporca/libgpdbcost/src/CCostModelGPDB.cpp +++ b/src/backend/gporca/libgpdbcost/src/CCostModelGPDB.cpp @@ -1474,7 +1474,8 @@ CCostModelGPDB::CostMotion(CMemoryPool *mp, CExpressionHandle &exprhdl, ULONG broadcast_threshold = optimizer_config->GetHint()->UlBroadcastThreshold(); - if (num_rows_outer > broadcast_threshold) + // if broadcast threshold is 0, don't penalize + if (broadcast_threshold > 0 && num_rows_outer > broadcast_threshold) { DOUBLE ulPenalizationFactor = 100000000000000.0; costLocal = CCost(ulPenalizationFactor); diff --git a/src/backend/gporca/server/CMakeLists.txt b/src/backend/gporca/server/CMakeLists.txt index 36c44ac6ed..d01b760fca 100644 --- a/src/backend/gporca/server/CMakeLists.txt +++ b/src/backend/gporca/server/CMakeLists.txt @@ -169,7 +169,7 @@ CTAS-random-distributed-from-replicated-distributed-table ProjectRepeatedColumn1 ProjectRepeatedColumn2 NLJ-BC-Outer-Spool-Inner Self-Comparison Self-Comparison-Nullable SelectCheckConstraint ExpandJoinOrder SelectOnBpchar EqualityJoin EffectsOfJoinFilter InnerJoin-With-OuterRefs UDA-AnyElement-1 UDA-AnyElement-2 Project-With-NonScalar-Func SixWayDPv2 Join-Varchar-Equality NLJ-Rewindability -NLJ-Rewindability-CTAS; +NLJ-Rewindability-CTAS DisableBroadcastThreshold; CJoinPredTest: MultipleDampedPredJoinCardinality MultipleIndependentPredJoinCardinality MultiDistKeyJoinCardinality diff --git a/src/backend/utils/misc/guc_gp.c b/src/backend/utils/misc/guc_gp.c index dd177a768a..d7fb32b950 100644 --- a/src/backend/utils/misc/guc_gp.c +++ b/src/backend/utils/misc/guc_gp.c @@ -4250,7 +4250,7 @@ struct config_int ConfigureNamesInt_gp[] = { {"optimizer_xform_bind_threshold", PGC_USERSET, DEVELOPER_OPTIONS, - gettext_noop("Maximum number bindings per xform per group expression"), + gettext_noop("Maximum number bindings per xform per group expression. A value of 0 disables."), NULL, GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE }, @@ -4293,7 +4293,7 @@ struct config_int ConfigureNamesInt_gp[] = { {"optimizer_penalize_broadcast_threshold", PGC_USERSET, QUERY_TUNING_METHOD, - gettext_noop("Maximum number of rows of a relation that can be broadcasted without penalty."), + gettext_noop("Maximum number of rows of a relation that can be broadcasted without penalty. A value of 0 disables."), NULL, GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE }, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
