• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 26742438102

01 Jun 2026 07:56AM UTC coverage: 86.116% (+0.02%) from 86.101%
26742438102

push

github

Buristan
datetime: fixed parse of time with h.hh or m.mm

- `datetime.c`, `parse_tz_suffix` and its clients refactored
  for better error detection & to simplify code:
  - offset value post-condition check is moved to `parse_tz_suffix`.
  - this check uses tzoffset valid range instead of int16_t min/max.
  - offset arg type of `parse_tz_suffix` fixed
    to valid for TZoffset (int16_t).
- Fixed range checking for tzoffset parsed by `dt_parse_iso_zone_lenient`.
- The better error detection lead to assertion fails of datetime tests
  with decimal fraction of hours and minutes. The fix is the first
  way to solve the problem. (The other way is to comment out the tests.)

Fixes #12082

@TarantoolBot document
Title: Parse of time with hour and minute decimal fraction implemented

Datetime module now supports formats, which are defined
in ISO 8601-1:2019 (5.3.1.4, b-c).

Implementation details:
  - As for decimal fraction of the second (5.3.1.4, a),
    the tail after 9 fraciton digits is truncated.
    `0.123456789999` is the same as `0.123456789`.
  - The hour (format c) or minute (format b) fractions are truncated
    to seconds precision. If somebody want a second fraction,
    they must use explicit representation (format a).

```
datetime.parse('2024-07-31T17,5', {format = 'iso8601'})
---
- 2024-07-31T17:30:00Z

datetime.parse('2024-07-31T17:30.333333333', {format = 'iso8601'})
---
- 2024-07-31T17:30:19Z
```

(cherry picked from commit 5b51d7c76)

63689 of 115154 branches covered (55.31%)

16 of 0 new or added lines in 0 files covered. (NaN%)

10 existing lines in 7 files now uncovered.

94679 of 109944 relevant lines covered (86.12%)

1890687.45 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

95.18
/src/lua/fiber.c


Build SHA Not Found

The commit SHA "85a10e850f659fce6f1aa185029faf112bac5017 " was not found in your repository, so the file cannot be loaded. This may be because you posted from a local development environment, or your CI created an ephemeral commit.

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc