FileColumns
Read onlyYes
FinalYes
Both read paths take the tail from one instance of this, in one order, so they cannot disagree.
Methods
- __construct() : mixed
- apply() : Rows
- declare() : Schema
- forFile() : FileConstants
- Takes the schema declare() already produced, so the values and the schema they are written under can never come from two different declarations.
- tail() : array<int, string>
- withoutTail() : Schema
- So a source carrying a partition-named column in its body does not get it typed from the data.
Methods
__construct()
public
__construct(PartitionColumns $partitionColumns, array<string, bool> $partitionNames, PartitionTypes $partitionTypes, bool $metadataColumns) : mixed
Parameters
- $partitionColumns : PartitionColumns
- $partitionNames : array<string, bool>
- $partitionTypes : PartitionTypes
- $metadataColumns : bool
apply()
public
apply(Rows $rows) : Rows
Parameters
- $rows : Rows
Return values
Rowsdeclare()
public
declare(Schema $schema) : Schema
Parameters
- $schema : Schema
Return values
SchemaforFile()
Takes the schema declare() already produced, so the values and the schema they are written under can never come from two different declarations.
public
forFile(SourceFile $source, Schema $declared) : FileConstants
Parameters
- $source : SourceFile
- $declared : Schema
Return values
FileConstantstail()
public
tail() : array<int, string>
Return values
array<int, string>withoutTail()
So a source carrying a partition-named column in its body does not get it typed from the data.
public
withoutTail(Schema $inferred) : Schema
Parameters
- $inferred : Schema