-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathquery-f2c4999389ca455e12e0349afcfab508671042d19332a39a3bad8d85b688f65b.json
More file actions
136 lines (136 loc) · 5.25 KB
/
query-f2c4999389ca455e12e0349afcfab508671042d19332a39a3bad8d85b688f65b.json
File metadata and controls
136 lines (136 loc) · 5.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
{
"db_name": "PostgreSQL",
"query": "select\n d.id,\n d.short_name,\n d.title,\n d.is_reference,\n d.written_at,\n d.format_id,\n d.genre_id,\n d.audio_slice_id,\n media_resource.url as \"audio_url?\",\n media_resource.recorded_at as \"recorded_at?\",\n dailp_user.id as \"recorded_by?\",\n dailp_user.display_name as \"recorded_by_name?\",\n media_slice.time_range as \"audio_slice?\",\n ubd.bookmarked_on as \"bookmarked_on?\",\n coalesce(\n jsonb_agg(\n jsonb_build_object(\n 'id', contributor.id,\n 'name', contributor.full_name,\n 'role', attr.contribution_role\n )\n ) filter (where contributor is not null),\n '[]'\n ) as contributors,\n (\n select coalesce(\n jsonb_agg(\n jsonb_build_object(\n 'id', k.id,\n 'name', k.name,\n 'status', k.status\n )\n ),\n '[]'\n )\n from document_keyword dk\n join keyword k on k.id = dk.keyword_id\n where dk.document_id = d.id\n ) as keywords,\n (\n select coalesce(\n jsonb_agg(\n jsonb_build_object(\n 'id', l.id,\n 'name', l.name,\n 'status', l.status\n )\n ),\n '[]'\n )\n from document_language dl\n join language l on l.id = dl.language_id\n where dl.document_id = d.id\n ) as languages,\n ( -- Subject Headings\n select coalesce(\n jsonb_agg(\n jsonb_build_object(\n 'id', sh.id,\n 'name', sh.name,\n 'status', sh.status\n )), '[]')\n from document_subject_heading dsh\n join subject_heading sh on sh.id = dsh.subject_heading_id\n where dsh.document_id = d.id\n ) as subject_headings,\n ( -- Spatial Coverage\n select coalesce(\n jsonb_agg(\n jsonb_build_object(\n 'id', sc.id,\n 'name', sc.name,\n 'status', sc.status\n )\n ),\n '[]'\n )\n from document_spatial_coverage dsc\n join spatial_coverage sc on sc.id = dsc.spatial_coverage_id\n where dsc.document_id = d.id\n ) as spatial_coverage,\n (\n select coalesce(\n jsonb_agg(\n jsonb_build_object(\n 'id', cr.id,\n 'name', cr.name\n )\n ),\n '[]'\n )\n from document_creator dcr\n join creator cr on cr.id = dcr.creator_id\n where dcr.document_id = d.id\n ) as creators\nfrom document as d\n left join contributor_attribution as attr on attr.document_id = d.id\n left join contributor on contributor.id = attr.contributor_id\n left join media_slice on media_slice.id = d.audio_slice_id\n left join media_resource on media_resource.id = media_slice.resource_id\n left join dailp_user on dailp_user.id = media_resource.recorded_by\n left join user_bookmarked_document as ubd on ubd.document_id = d.id\nwhere d.id = any($1)\ngroup by\n d.id,\n media_slice.id,\n media_resource.id,\n dailp_user.id,\n ubd.bookmarked_on;\n",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Uuid"
},
{
"ordinal": 1,
"name": "short_name",
"type_info": "Text"
},
{
"ordinal": 2,
"name": "title",
"type_info": "Text"
},
{
"ordinal": 3,
"name": "is_reference",
"type_info": "Bool"
},
{
"ordinal": 4,
"name": "written_at",
"type_info": "Date"
},
{
"ordinal": 5,
"name": "format_id",
"type_info": "Uuid"
},
{
"ordinal": 6,
"name": "genre_id",
"type_info": "Uuid"
},
{
"ordinal": 7,
"name": "audio_slice_id",
"type_info": "Uuid"
},
{
"ordinal": 8,
"name": "audio_url?",
"type_info": "Text"
},
{
"ordinal": 9,
"name": "recorded_at?",
"type_info": "Date"
},
{
"ordinal": 10,
"name": "recorded_by?",
"type_info": "Uuid"
},
{
"ordinal": 11,
"name": "recorded_by_name?",
"type_info": "Text"
},
{
"ordinal": 12,
"name": "audio_slice?",
"type_info": "Int8Range"
},
{
"ordinal": 13,
"name": "bookmarked_on?",
"type_info": "Date"
},
{
"ordinal": 14,
"name": "contributors",
"type_info": "Jsonb"
},
{
"ordinal": 15,
"name": "keywords",
"type_info": "Jsonb"
},
{
"ordinal": 16,
"name": "languages",
"type_info": "Jsonb"
},
{
"ordinal": 17,
"name": "subject_headings",
"type_info": "Jsonb"
},
{
"ordinal": 18,
"name": "spatial_coverage",
"type_info": "Jsonb"
},
{
"ordinal": 19,
"name": "creators",
"type_info": "Jsonb"
}
],
"parameters": {
"Left": [
"UuidArray"
]
},
"nullable": [
false,
false,
false,
false,
true,
true,
true,
true,
false,
true,
false,
false,
true,
false,
null,
null,
null,
null,
null,
null
]
},
"hash": "f2c4999389ca455e12e0349afcfab508671042d19332a39a3bad8d85b688f65b"
}