Skip to content

Commit 3336cbb

Browse files
authored
Fix timestamp format generated by collection_temporal_extent (#279)
* fix timestamp format in collection_temporal_extent * add test for temporal extent format
1 parent a1e7c04 commit 3336cbb

File tree

5 files changed

+22
-2
lines changed

5 files changed

+22
-2
lines changed

src/pgstac/migrations/pgstac.0.9.0-unreleased.sql

+12
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,18 @@ END;
237237
$function$
238238
;
239239

240+
CREATE OR REPLACE FUNCTION pgstac.collection_temporal_extent(id text)
241+
RETURNS jsonb
242+
LANGUAGE sql
243+
IMMUTABLE PARALLEL SAFE
244+
SET search_path TO 'pgstac', 'public'
245+
AS $function$
246+
SELECT to_jsonb(array[array[min(datetime), max(datetime)]])
247+
FROM items WHERE collection=$1;
248+
;
249+
$function$
250+
;
251+
240252
CREATE OR REPLACE FUNCTION pgstac.update_collection_extents()
241253
RETURNS void
242254
LANGUAGE sql

src/pgstac/migrations/pgstac.unreleased.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -2362,7 +2362,7 @@ CREATE OR REPLACE FUNCTION collection_bbox(id text) RETURNS jsonb AS $$
23622362
$$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE SET SEARCH_PATH TO pgstac, public;
23632363

23642364
CREATE OR REPLACE FUNCTION collection_temporal_extent(id text) RETURNS jsonb AS $$
2365-
SELECT to_jsonb(array[array[min(datetime)::text, max(datetime)::text]])
2365+
SELECT to_jsonb(array[array[min(datetime), max(datetime)]])
23662366
FROM items WHERE collection=$1;
23672367
;
23682368
$$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE SET SEARCH_PATH TO pgstac, public;

src/pgstac/sql/003a_items.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ CREATE OR REPLACE FUNCTION collection_bbox(id text) RETURNS jsonb AS $$
335335
$$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE SET SEARCH_PATH TO pgstac, public;
336336

337337
CREATE OR REPLACE FUNCTION collection_temporal_extent(id text) RETURNS jsonb AS $$
338-
SELECT to_jsonb(array[array[min(datetime)::text, max(datetime)::text]])
338+
SELECT to_jsonb(array[array[min(datetime), max(datetime)]])
339339
FROM items WHERE collection=$1;
340340
;
341341
$$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE SET SEARCH_PATH TO pgstac, public;

src/pgstac/tests/basic/crud_functions.sql

+4
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,7 @@ SELECT get_setting_bool('update_collection_extent');
6363
SELECT update_item((SELECT content || '{"properties":{"datetime":"2024-01-01 00:00:00Z"}}'::jsonb FROM test_items LIMIT 1));
6464

6565
SELECT content->'extent' FROM collections WHERE id='pgstactest-crudtest';
66+
67+
-- check formatting of temporal extent
68+
SELECT collection_temporal_extent('pgstactest-crudtest');
69+

src/pgstac/tests/basic/crud_functions.sql.out

+4
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,7 @@ SELECT update_item((SELECT content || '{"properties":{"datetime":"2024-01-01 00:
100100
SELECT content->'extent' FROM collections WHERE id='pgstactest-crudtest';
101101
{"spatial": {"bbox": [[-85.3792495727539, 30.933948516845703, -85.30819702148438, 31.003555297851562]]}, "temporal": {"interval": [["2023-02-01T00:00:00+00:00", "2023-02-01T00:00:00+00:00"]]}}
102102

103+
-- check formatting of temporal extent
104+
SELECT collection_temporal_extent('pgstactest-crudtest');
105+
[["2023-02-01T00:00:00+00:00", "2024-01-01T00:00:00+00:00"]]
106+

0 commit comments

Comments
 (0)