|
1 | | -CREATE OR REPLACE FUNCTION doi.datasetinfo(dsid integer) |
| 1 | +CREATE OR REPLACE FUNCTION doi.datasetinfo(dsid integer[]) |
2 | 2 | RETURNS TABLE(datasetid integer, dataset json) |
3 | 3 | LANGUAGE sql |
4 | 4 | AS $function$ |
5 | 5 |
|
6 | 6 | SELECT dts.datasetid, |
7 | 7 | json_build_object('site', json_build_object('siteid', sts.siteid, |
8 | 8 | 'sitename', sts.sitename, |
| 9 | + 'depositionalenvironment', dvt.depenvt, |
9 | 10 | 'sitedescription', sts.sitedescription, |
10 | 11 | 'sitenotes', sts.notes, |
11 | 12 | 'geography', ST_AsGeoJSON(sts.geog,5,2), |
12 | 13 | 'altitude', sts.altitude, |
13 | | - 'collectionunitid', clu.collectionunitid, |
| 14 | + 'collectionunit', json_build_object('collectionunitid', clu.collectionunitid, |
14 | 15 | 'collectionunit', clu.collunitname, |
15 | | - 'handle', clu.handle, |
16 | | - 'unittype', cts.colltype), |
| 16 | + 'handle', clu.handle, |
| 17 | + 'collunittype', cts.colltype, |
| 18 | + 'colldate', clu.colldate, |
| 19 | + 'notes', clu.notes, |
| 20 | + 'location', clu.location, |
17 | 21 | 'dataset', json_build_object( 'datasetid', dts.datasetid, |
18 | 22 | 'datasettype', dst.datasettype, |
19 | 23 | 'datasetnotes', dts.notes, |
20 | 24 | 'database', cstdb.databasename, |
21 | 25 | 'doi', doi.dois, |
22 | 26 | 'datasetpi', dsau.authors, |
23 | | - 'agerange', agerange.ages)) |
| 27 | + 'agerange', agerange.ages)))) |
24 | 28 | FROM |
25 | | -ndb.datasets AS dts LEFT OUTER JOIN |
26 | | -ndb.collectionunits AS clu ON clu.collectionunitid = dts.collectionunitid LEFT OUTER JOIN |
27 | | -ndb.sites AS sts ON sts.siteid = clu.siteid LEFT OUTER JOIN |
28 | | -ndb.datasettypes AS dst ON dst.datasettypeid = dts.datasettypeid LEFT OUTER JOIN |
29 | | -ndb.collectiontypes as cts ON clu.colltypeid = cts.colltypeid LEFT OUTER JOIN |
| 29 | + ndb.datasets AS dts LEFT OUTER JOIN |
| 30 | + ndb.collectionunits AS clu ON clu.collectionunitid = dts.collectionunitid LEFT OUTER JOIN |
| 31 | + ndb.depenvttypes AS dvt ON dvt.depenvtid = clu.depenvtid LEFT OUTER JOIN |
| 32 | + ndb.sites AS sts ON sts.siteid = clu.siteid LEFT OUTER JOIN |
| 33 | + ndb.datasettypes AS dst ON dst.datasettypeid = dts.datasettypeid LEFT OUTER JOIN |
| 34 | + ndb.collectiontypes AS cts ON clu.colltypeid = cts.colltypeid LEFT OUTER JOIN |
30 | 35 | ndb.datasetdatabases AS dsdb ON dsdb.datasetid = dts.datasetid LEFT OUTER JOIN |
31 | | -(SELECT * FROM doi.agerange(dsid)) AS agerange ON agerange.datasetid = dts.datasetid LEFT OUTER JOIN |
32 | | -ndb.constituentdatabases AS cstdb ON dsdb.databaseid = cstdb.databaseid LEFT OUTER JOIN |
33 | | -(SELECT * FROM doi.doireturn(dsid)) AS doi ON doi.datasetid = dts.datasetid LEFT OUTER JOIN |
34 | | -(SELECT * FROM doi.datasetauthors(dsid)) AS dsau ON dsau.datasetid = dts.datasetid |
35 | | -WHERE dts.datasetid = dsid |
| 36 | + (SELECT * FROM doi.agerange(dsid)) AS agerange ON agerange.datasetid = dts.datasetid LEFT OUTER JOIN |
| 37 | + ndb.constituentdatabases AS cstdb ON dsdb.databaseid = cstdb.databaseid LEFT OUTER JOIN |
| 38 | + (SELECT * FROM doi.doireturn(dsid)) AS doi ON doi.datasetid = dts.datasetid LEFT OUTER JOIN |
| 39 | +(SELECT * FROM doi.datasetauthors(dsid)) AS dsau ON dsau.datasetid = dts.datasetid |
| 40 | +WHERE dts.datasetid = ANY(dsid) |
36 | 41 |
|
37 | 42 | $function$ |
0 commit comments