public class RelMdSize extends java.lang.Object implements MetadataHandler<BuiltInMetadata.Size>
BuiltInMetadata.Size
metadata provider for the standard logical algebra.Modifier and Type | Field and Description |
---|---|
static int |
BYTES_PER_CHARACTER
Bytes per character (2).
|
static RelMetadataProvider |
SOURCE
Source for
BuiltInMetadata.Size . |
Modifier | Constructor and Description |
---|---|
protected |
RelMdSize() |
Modifier and Type | Method and Description |
---|---|
java.util.List<java.lang.Double> |
averageColumnSizes(Aggregate rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Exchange rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Filter rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Intersect rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Join rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Minus rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Project rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(RelNode rel,
RelMetadataQuery mq)
Catch-all implementation for
BuiltInMetadata.Size.averageColumnSizes() ,
invoked using reflection. |
java.util.List<java.lang.Double> |
averageColumnSizes(SemiJoin rel,
RelMetadataQuery mq)
Deprecated.
|
java.util.List<java.lang.Double> |
averageColumnSizes(Sort rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(TableScan rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Union rel,
RelMetadataQuery mq) |
java.util.List<java.lang.Double> |
averageColumnSizes(Values rel,
RelMetadataQuery mq) |
protected java.lang.Double |
averageFieldValueSize(RelDataTypeField field)
Estimates the average size (in bytes) of a value of a field, knowing
nothing more than its type.
|
private java.util.List<java.lang.Double> |
averageJoinColumnSizes(Join rel,
RelMetadataQuery mq) |
java.lang.Double |
averageRexSize(RexNode node,
java.util.List<java.lang.Double> inputColumnSizes) |
java.lang.Double |
averageRowSize(RelNode rel,
RelMetadataQuery mq)
Catch-all implementation for
BuiltInMetadata.Size.averageRowSize() ,
invoked using reflection. |
java.lang.Double |
averageTypeValueSize(RelDataType type)
Estimates the average size (in bytes) of a value of a type.
|
MetadataDef<BuiltInMetadata.Size> |
getDef() |
double |
typeValueSize(RelDataType type,
java.lang.Comparable value)
Estimates the average size (in bytes) of a value of a type.
|
public static final RelMetadataProvider SOURCE
BuiltInMetadata.Size
.public static final int BYTES_PER_CHARACTER
public MetadataDef<BuiltInMetadata.Size> getDef()
getDef
in interface MetadataHandler<BuiltInMetadata.Size>
public java.lang.Double averageRowSize(RelNode rel, RelMetadataQuery mq)
BuiltInMetadata.Size.averageRowSize()
,
invoked using reflection.public java.util.List<java.lang.Double> averageColumnSizes(RelNode rel, RelMetadataQuery mq)
BuiltInMetadata.Size.averageColumnSizes()
,
invoked using reflection.public java.util.List<java.lang.Double> averageColumnSizes(Filter rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Sort rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Exchange rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Project rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Values rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(TableScan rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Aggregate rel, RelMetadataQuery mq)
@Deprecated public java.util.List<java.lang.Double> averageColumnSizes(SemiJoin rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Join rel, RelMetadataQuery mq)
private java.util.List<java.lang.Double> averageJoinColumnSizes(Join rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Intersect rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Minus rel, RelMetadataQuery mq)
public java.util.List<java.lang.Double> averageColumnSizes(Union rel, RelMetadataQuery mq)
protected java.lang.Double averageFieldValueSize(RelDataTypeField field)
We assume that the proportion of nulls is negligible, even if the field is nullable.
public java.lang.Double averageTypeValueSize(RelDataType type)
We assume that the proportion of nulls is negligible, even if the type is nullable.
public double typeValueSize(RelDataType type, java.lang.Comparable value)
Nulls count as 1 byte.
public java.lang.Double averageRexSize(RexNode node, java.util.List<java.lang.Double> inputColumnSizes)
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.