Skip to content

sqlalchemy backend does not support non-interval datetime values #256

Closed
@philvarner

Description

the datetime parameter should support either single datetime values or intervals. I believe this worked previously, but now the sqlalchemy backend seems to only process intervals correctly.

All of the stac-api-validator tests with single datetimes fail:

  • Search with datetime=2000-02-02T00:00:00+00:00 extracted from an Item returned status code 500
  • Search with datetime=1985-04-12T23:20:50.52Z returned status code 500
  • Search with datetime=1996-12-19T16:39:57-00:00 returned status code 500
  • Search with datetime=1996-12-19T16:39:57+00:00 returned status code 500
  • Search with datetime=1996-12-19T16:39:57-08:00 returned status code 500
  • Search with datetime=1996-12-19T16:39:57+08:00 returned status code 500
  • Search with datetime=1937-01-01T12:00:27.87+01:00 returned status code 500
  • Search with datetime=1985-04-12T23:20:50.52Z returned status code 500
  • Search with datetime=1937-01-01T12:00:27.8710+01:00 returned status code 500
  • Search with datetime=1937-01-01T12:00:27.8+01:00 returned status code 500
  • Search with datetime=1937-01-01T12:00:27.8Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.000+03:00 returned status code 500
  • Search with datetime=2020-07-23T00:00:00+03:00 returned status code 500
  • Search with datetime=1985-04-12t23:20:50.000z returned status code 400
  • Search with datetime=2020-07-23T00:00:00Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.0Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.01Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.012Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.0123Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.01234Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.012345Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.0123456Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.01234567Z returned status code 500
  • Search with datetime=2020-07-23T00:00:00.012345678Z returned status code 500

Additionally, intervals with an empty string was the start or end datetime return a 400 (per the spec, both empty string and .. are permissible for open/closed ended:

  • Search with datetime=/1985-04-12T23:20:50.52Z returned status code 400
  • Search with datetime=1985-04-12T23:20:50.52Z/ returned status code 400

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions