ScalarColumn implements Column
Interfaces
Properties
- $nullCount : int
- $physical : Physical
- $type : Type
- $values : array<string|int, mixed>
Methods
- __construct() : mixed
- at() : mixed
- PHYSICAL cell: int|float|bool|string|array|null - never a DateTimeImmutable, Uuid, Json …
- concat() : Column
- Same-class lane; a mixed-class concat never reaches here - Rows::concat rebuilds it through the caller's backend.
- count() : int
- encode() : array<int, string>
- isNull() : bool
- nullCount() : int
- physicals() : array<int, mixed>
- slice() : Column
- `self`, never `static`: the extension declares these too and ext-php-rs has no `static` return binding.
- take() : Column
- type() : Type<string|int, mixed>
- The logical type; a child column has a Type, never a Definition.
- value() : mixed
- LOGICAL cell - PHP: Physical::fromPhysical(at($i)); native: built in Rust.
- values() : array<int, mixed>
- withType() : Column
- The one type-changing operation: same buffers, a new Type of the same column kind, checked recursively.
Properties
$nullCount
public
int
$nullCount
$physical
public
Physical
$physical
$type
public
Type
$type
$values
public
array<string|int, mixed>
$values
Methods
__construct()
public
__construct(Type<string|int, mixed> $type, Physical $physical, array<int, mixed> $values, int $nullCount) : mixed
Parameters
- $type : Type<string|int, mixed>
- $physical : Physical
- $values : array<int, mixed>
-
physicals, null for a null cell
- $nullCount : int
at()
PHYSICAL cell: int|float|bool|string|array|null - never a DateTimeImmutable, Uuid, Json …
public
at(int $i) : mixed
Parameters
- $i : int
concat()
Same-class lane; a mixed-class concat never reaches here - Rows::concat rebuilds it through the caller's backend.
public
concat(Column ...$others) : Column
Parameters
- $others : Column
Return values
Columncount()
public
count() : int
Return values
intencode()
public
encode() : array<int, string>
Return values
array<int, string> —the column's frame buffers in the kind's buffer order, pre-order for nested kinds, in canonical form; an omitted validity buffer is ''
isNull()
public
isNull(int $i) : bool
Parameters
- $i : int
Return values
boolnullCount()
public
nullCount() : int
Return values
intphysicals()
public
physicals() : array<int, mixed>
Return values
array<int, mixed> —physical, whole column - PHP returns its backing list (refcount), native copies once
slice()
`self`, never `static`: the extension declares these too and ext-php-rs has no `static` return binding.
public
slice(int $offset, int $length) : Column
Parameters
- $offset : int
- $length : int
Return values
Columntake()
public
take(array<string|int, mixed> $indices) : Column
Parameters
- $indices : array<string|int, mixed>
-
every index in [0, count())
Return values
Columntype()
The logical type; a child column has a Type, never a Definition.
public
type() : Type<string|int, mixed>
Return values
Type<string|int, mixed>value()
LOGICAL cell - PHP: Physical::fromPhysical(at($i)); native: built in Rust.
public
value(int $i) : mixed
Parameters
- $i : int
values()
public
values() : array<int, mixed>
Return values
array<int, mixed> —logical, whole column (encoders, statistics, reduceToArray)
withType()
The one type-changing operation: same buffers, a new Type of the same column kind, checked recursively.
public
withType(Type $type) : Column
Dropping an OptionalType or an element's optionality at any depth requires that child column's nullCount() === 0.
Parameters
- $type : Type