>From a historical perspective, if we had had extension types / canonical
extension types, it would have made more sense to have the millisecond
dates as an extension type.

The goal of having the extra type was to avoid an unnecessary serialization
in systems where there is a benefit to moving data efficiently over the
wire, and here it is the same — to be able to move 8-bit boolean data
without serialization from process to process in a reasonably standardized
way.

Because boolean data is used much more than date data (in general), it
seems like it would be more burdensome for implementations if a 8-bit
boolean type were promoted to equal status with the 1-bit type.

On Mon, Jul 22, 2024 at 2:33 PM Antoine Pitrou <anto...@python.org> wrote:

>
> Le 22/07/2024 à 21:25, Joel Lubinitsky a écrit :
> >
> > If Canonical Extensions had existed at the time, I think there's a chance
> > we may have ended up with int32 Date as a first class type and int64
> > MillisecondDate as a Canonical Extension type.
>
> Agreed.
>
> > Are there any lessons we've
> > learned from implementing both as first-class types as opposed to this
> > hypothetical first-class / extension split?
>
> In Arrow C++, not many lessons I'd say, because those date types don't
> support many operations.
>
> Regards
>
> Antoine.
>

Reply via email to