class LiteralExprMeta extends ExprMeta[Literal]
- Alphabetic
- By Inheritance
- LiteralExprMeta
- ExprMeta
- BaseExprMeta
- RapidsMeta
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new LiteralExprMeta(lit: Literal, conf: RapidsConf, p: Option[RapidsMeta[_, _, _]], r: DataFromReplacementRule)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
addConvertedDataType(expression: Expression, typeMeta: DataTypeMeta): Unit
Call this method to record information about type conversions via DataTypeMeta.
Call this method to record information about type conversions via DataTypeMeta.
- Definition Classes
- RapidsMeta
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
canDataWriteCmdsBeReplaced: Boolean
Returns true iff all of the data writing commands can be replaced.
Returns true iff all of the data writing commands can be replaced.
- Definition Classes
- RapidsMeta
-
def
canExprTreeBeReplaced: Boolean
Returns true iff all of the expressions and their children could be replaced.
Returns true iff all of the expressions and their children could be replaced.
- Definition Classes
- BaseExprMeta → RapidsMeta
-
def
canPartsBeReplaced: Boolean
Returns true iff all of the partitioning can be replaced.
Returns true iff all of the partitioning can be replaced.
- Definition Classes
- RapidsMeta
-
def
canScansBeReplaced: Boolean
Returns true iff all of the scans can be replaced.
Returns true iff all of the scans can be replaced.
- Definition Classes
- RapidsMeta
-
lazy val
canSelfBeAst: Boolean
Check whether this node itself can be converted to AST.
Check whether this node itself can be converted to AST. It will not recursively check its children. It's used to check join condition AST-ability in top-down fashion.
- Definition Classes
- BaseExprMeta
-
final
def
canThisBeAst: Boolean
- Definition Classes
- BaseExprMeta
-
final
def
canThisBeReplaced: Boolean
Returns true iff this could be replaced.
Returns true iff this could be replaced.
- Definition Classes
- RapidsMeta
-
var
cannotBeReplacedReasons: Option[Set[String]]
- Attributes
- protected
- Definition Classes
- RapidsMeta
-
var
cannotRunOnGpuBecauseOfCost: Boolean
- Attributes
- protected
- Definition Classes
- RapidsMeta
-
var
cannotRunOnGpuBecauseOfSparkPlan: Boolean
- Attributes
- protected
- Definition Classes
- RapidsMeta
-
def
checkExprForTimezone(): Unit
- Definition Classes
- BaseExprMeta
-
def
checkTimeZoneId(sessionZoneId: ZoneId): Unit
- Definition Classes
- RapidsMeta
-
def
checkUTCTimezone(meta: RapidsMeta[_, _, _], zoneId: ZoneId): Unit
Timezone check which only allows UTC timezone.
Timezone check which only allows UTC timezone. This is consistent with previous behavior.
- meta
to check whether it's UTC
- Definition Classes
- BaseExprMeta
-
val
childDataWriteCmds: Seq[DataWritingCommandMeta[_]]
The wrapped data writing commands that should be examined
The wrapped data writing commands that should be examined
- Definition Classes
- BaseExprMeta → RapidsMeta
-
val
childExprs: Seq[BaseExprMeta[_]]
The wrapped expressions that should be examined
The wrapped expressions that should be examined
- Definition Classes
- BaseExprMeta → RapidsMeta
-
val
childParts: Seq[PartMeta[_]]
The wrapped partitioning that should be examined
The wrapped partitioning that should be examined
- Definition Classes
- BaseExprMeta → RapidsMeta
-
val
childPlans: Seq[SparkPlanMeta[_]]
The wrapped plans that should be examined
The wrapped plans that should be examined
- Definition Classes
- BaseExprMeta → RapidsMeta
-
val
childRunnableCmds: Seq[RunnableCommandMeta[_]]
The wrapped runnable commands that should be examined.
The wrapped runnable commands that should be examined.
- Definition Classes
- RapidsMeta
-
val
childScans: Seq[ScanMeta[_]]
The wrapped scans that should be examined
The wrapped scans that should be examined
- Definition Classes
- BaseExprMeta → RapidsMeta
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
val
conf: RapidsConf
- Definition Classes
- RapidsMeta
-
def
confKey: String
- Definition Classes
- RapidsMeta
-
lazy val
context: ExpressionContext
- Definition Classes
- BaseExprMeta
-
def
convertToCpu(): Expression
Keep this on the CPU, but possibly convert its children under it to run on the GPU if enabled.
Keep this on the CPU, but possibly convert its children under it to run on the GPU if enabled. By default this just returns what is wrapped by this. For some types of operators/stages, like SparkPlan, each part of the query can be converted independent of other parts. As such in a subclass this should be overridden to do the correct thing.
- Definition Classes
- RapidsMeta
-
def
convertToGpu(): GpuExpression
Convert what this wraps to a GPU enabled version.
Convert what this wraps to a GPU enabled version.
- Definition Classes
- LiteralExprMeta → ExprMeta → RapidsMeta
-
final
def
costPreventsRunningOnGpu(): Unit
- Definition Classes
- RapidsMeta
-
def
dataType: DataType
- Definition Classes
- BaseExprMeta
-
final
val
disabledMsg: Option[String]
- Definition Classes
- RapidsMeta
-
final
def
entirePlanExcludedReasons: Set[String]
Returns the list of reasons the entire plan can't be replaced.
Returns the list of reasons the entire plan can't be replaced. An empty set means the entire plan is ok to be replaced, do the normal checking per exec and children.
- Definition Classes
- RapidsMeta
-
final
def
entirePlanWillNotWork(because: String): Unit
Call this if there is a condition found that the entire plan is not allowed to run on the GPU.
Call this if there is a condition found that the entire plan is not allowed to run on the GPU.
- Definition Classes
- RapidsMeta
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
explain(all: Boolean): String
- Definition Classes
- RapidsMeta
-
def
explainAst(all: Boolean): String
- Definition Classes
- BaseExprMeta
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getZoneId(): ZoneId
- Attributes
- protected
- Definition Classes
- BaseExprMeta
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
ignoreUnsetDataTypes: Boolean
- Definition Classes
- BaseExprMeta
-
final
val
incompatDoc: Option[String]
- Definition Classes
- RapidsMeta
-
def
indent(append: StringBuilder, depth: Int): Unit
- Attributes
- protected
- Definition Classes
- RapidsMeta
-
def
initReasons(): Unit
- Definition Classes
- RapidsMeta
-
def
isDisabledByDefault: Boolean
- Definition Classes
- RapidsMeta
-
val
isFoldableNonLitAllowed: Boolean
- Definition Classes
- BaseExprMeta
-
def
isIncompat: Boolean
- Definition Classes
- RapidsMeta
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTimeZoneSupported: Boolean
- Definition Classes
- BaseExprMeta
-
final
def
mustBeReplaced(because: String): Unit
- Definition Classes
- RapidsMeta
-
final
def
mustThisBeReplaced: Boolean
Returns true iff this must be replaced because its children have already been replaced and this needs to also be replaced for compatibility.
Returns true iff this must be replaced because its children have already been replaced and this needs to also be replaced for compatibility.
- Definition Classes
- RapidsMeta
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
lazy val
needTimeZoneCheck: Boolean
- Definition Classes
- BaseExprMeta
-
def
noReplacementPossibleMessage(reasons: String): String
- Definition Classes
- RapidsMeta
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
val
operationName: String
- Definition Classes
- RapidsMeta
-
def
overrideDataType(dt: DataType): Unit
Overrides the data type of the wrapped expression during type checking.
Overrides the data type of the wrapped expression during type checking.
NOTICE: This method will NOT modify the wrapped expression itself. Therefore, the actual transition on data type is still necessary when converting this expression to GPU.
- Definition Classes
- BaseExprMeta
-
val
parent: Option[RapidsMeta[_, _, _]]
- Definition Classes
- RapidsMeta
-
def
print(append: StringBuilder, depth: Int, all: Boolean): Unit
Create a string representation of this in append.
Create a string representation of this in append.
- depth
how far down the tree this is.
- all
should all the data be printed or just what does not work on the GPU?
- Definition Classes
- LiteralExprMeta → RapidsMeta
-
def
printAst(strBuilder: StringBuilder, depth: Int, all: Boolean): Unit
Create a string explanation for whether this expression tree can be converted to an AST
Create a string explanation for whether this expression tree can be converted to an AST
- strBuilder
where to place the string representation.
- depth
how far down the tree this is.
- all
should all the data be printed or just what does not work in the AST?
- Attributes
- protected
- Definition Classes
- BaseExprMeta
-
val
printWrapped: Boolean
- Definition Classes
- BaseExprMeta → RapidsMeta
-
final
def
recursiveCostPreventsRunningOnGpu(): Unit
Recursively force a section of the plan back onto CPU, stopping once a plan is reached that is already on CPU.
Recursively force a section of the plan back onto CPU, stopping once a plan is reached that is already on CPU.
- Definition Classes
- RapidsMeta
-
final
def
recursiveSparkPlanPreventsRunningOnGpu(): Unit
- Definition Classes
- RapidsMeta
-
final
def
recursiveSparkPlanRemoved(): Unit
- Definition Classes
- RapidsMeta
-
def
replaceMessage: String
- Definition Classes
- RapidsMeta
-
final
def
requireAstForGpu(): Unit
- Definition Classes
- BaseExprMeta
-
final
def
shouldBeRemoved(because: String): Unit
- Definition Classes
- RapidsMeta
-
final
def
shouldThisBeRemoved: Boolean
Returns true if this node should be removed.
Returns true if this node should be removed.
- Definition Classes
- RapidsMeta
-
def
supportsColumnar: Boolean
Return true if the resulting node in the plan will support columnar execution
Return true if the resulting node in the plan will support columnar execution
- Definition Classes
- RapidsMeta
-
def
suppressWillWorkOnGpuInfo: Boolean
- Definition Classes
- RapidsMeta
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
tagExprForGpu(): Unit
Called to verify that this expression will work on the GPU.
Called to verify that this expression will work on the GPU. For most expressions without extra checks all of the checks should have already been done.
- Definition Classes
- BaseExprMeta
-
final
def
tagForGpu(): Unit
Tag all of the children to see if they are GPU compatible first.
Tag all of the children to see if they are GPU compatible first. Do basic common verification for the operators, and then call tagSelfForGpu
- Definition Classes
- RapidsMeta
-
def
tagSelfForAst(): Unit
Called to verify that this expression will work as a GPU AST expression.
Called to verify that this expression will work as a GPU AST expression.
- Attributes
- protected
- Definition Classes
- BaseExprMeta
-
final
def
tagSelfForGpu(): Unit
Do any extra checks and tag yourself if you are compatible or not.
Do any extra checks and tag yourself if you are compatible or not. Be aware that this may already have been marked as incompatible for a number of reasons.
All of your children should have already been tagged so if there are situations where you may need to disqualify your children for various reasons you may do it here too.
- Definition Classes
- BaseExprMeta → RapidsMeta
-
def
toString(): String
- Definition Classes
- RapidsMeta → AnyRef → Any
-
def
typeMeta: DataTypeMeta
Gets the DataTypeMeta of current BaseExprMeta, which is supposed to be called in the tag methods of expression-level type checks.
Gets the DataTypeMeta of current BaseExprMeta, which is supposed to be called in the tag methods of expression-level type checks.
By default, it simply returns the data type of wrapped expression. But for specific expressions, they can easily override data type for type checking through calling the method
overrideDataType.- Definition Classes
- BaseExprMeta
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
willNotWorkInAst(because: String): Unit
- Definition Classes
- BaseExprMeta
-
final
def
willNotWorkOnGpu(because: String): Unit
Call this to indicate that this should not be replaced with a GPU enabled version
Call this to indicate that this should not be replaced with a GPU enabled version
- because
why it should not be replaced.
- Definition Classes
- RapidsMeta
-
def
willWorkInAstInfo: String
- Attributes
- protected
- Definition Classes
- BaseExprMeta
- def withNewLiteral(newLiteral: Literal): LiteralExprMeta
-
val
wrapped: Literal
- Definition Classes
- RapidsMeta