Skip to content

Split a temporal number by value and time from the start it is given - #116

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:fix/value-time-split-reads-its-start
Sep 30, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:fix/value-time-split-reads-its-start

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

TNumber.value_time_split converts its duration whatever its start, takes the default time
origin, Monday 3 January 2000, only when no start is given, and reads a given start as a
LocalDateTime or as its text. It passes NULL for the value and time bins, which it does not
return.

Witness. With a start given, the method left its duration unconverted and MEOS refused the
null interval, MeosInvalidArgError "Null pointer not allowed"; with no start, it threw a
NullPointerException reading the start.

Measured. Against the catalog and libmeos of MobilityDB 8a23781e4c with MEOS-API 8dddf59,
testValueTimeSplit of TIntTest splits [1@2019-09-01, 5@2019-09-03] at value size 2 and a
day: from midnight, and from the default origin, into the two days of the value 1 and the
instant of the value 5; from noon into four fragments cut at noon on 1 and 2 September. The
build succeeds and the suites run 106 and 1,806 tests, all passing.

Why. The start a caller gives is the origin of the time buckets, as in
TPoint.space_time_split.

TNumber.value_time_split converts its duration whatever its start, takes the default time
origin, Monday 3 January 2000, only when no start is given, and reads a given start as a
LocalDateTime or as its text. It passes NULL for the value and time bins, which it does not
return.

Witness. With a start given, the method left its duration unconverted and MEOS refused the
null interval, MeosInvalidArgError "Null pointer not allowed"; with no start, it threw a
NullPointerException reading the start.

Measured. Against the catalog and libmeos of MobilityDB 8a23781e4c with MEOS-API 8dddf59,
testValueTimeSplit of TIntTest splits [1@2019-09-01, 5@2019-09-03] at value size 2 and a
day: from midnight, and from the default origin, into the two days of the value 1 and the
instant of the value 5; from noon into four fragments cut at noon on 1 and 2 September. The
build succeeds and the suites run 106 and 1,806 tests, all passing.

Why. The start a caller gives is the origin of the time buckets, as in
TPoint.space_time_split.
@estebanzimanyi
estebanzimanyi merged commit 70f7cf1 into MobilityDB:main Sep 30, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the fix/value-time-split-reads-its-start branch September 30, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant