Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9124249
158.sql
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
158.sql
View Options
-- SWH DB schema upgrade
-- from_version: 157
-- to_version: 158
-- description: Add the extra_headers column in the revision table
-- latest schema version
insert
into
dbversion
(
version
,
release
,
description
)
values
(
158
,
now
(),
'Work Still In Progress'
);
-- Adapt the revision table for the new extra_headers column
alter
table
revision
add
column
extra_headers
bytea
[][];
-- Adapt the revision_entry type for the new extra_headers attribute
alter
type
revision_entry
add
attribute
extra_headers
bytea
[][];
-- Create entries in revision from tmp_revision
create
or
replace
function
swh_revision_add
()
returns
void
language
plpgsql
as
$$
begin
perform
swh_person_add_from_revision
();
insert
into
revision
(
id
,
date
,
date_offset
,
date_neg_utc_offset
,
committer_date
,
committer_date_offset
,
committer_date_neg_utc_offset
,
type
,
directory
,
message
,
author
,
committer
,
metadata
,
synthetic
,
extra_headers
)
select
t
.
id
,
t
.
date
,
t
.
date_offset
,
t
.
date_neg_utc_offset
,
t
.
committer_date
,
t
.
committer_date_offset
,
t
.
committer_date_neg_utc_offset
,
t
.
type
,
t
.
directory
,
t
.
message
,
a
.
id
,
c
.
id
,
t
.
metadata
,
t
.
synthetic
,
t
.
extra_headers
from
tmp_revision
t
left
join
person
a
on
a
.
fullname
=
t
.
author_fullname
left
join
person
c
on
c
.
fullname
=
t
.
committer_fullname
;
return
;
end
$$
;
-- "git style" revision log. Similar to swh_revision_list(), but returning all
-- information associated to each revision, and expanding authors/committers
create
or
replace
function
swh_revision_log
(
root_revisions
bytea
[],
num_revs
bigint
default
NULL
)
returns
setof
revision_entry
language
sql
stable
as
$$
select
t
.
id
,
r
.
date
,
r
.
date_offset
,
r
.
date_neg_utc_offset
,
r
.
committer_date
,
r
.
committer_date_offset
,
r
.
committer_date_neg_utc_offset
,
r
.
type
,
r
.
directory
,
r
.
message
,
a
.
id
,
a
.
fullname
,
a
.
name
,
a
.
email
,
c
.
id
,
c
.
fullname
,
c
.
name
,
c
.
email
,
r
.
metadata
,
r
.
synthetic
,
t
.
parents
,
r
.
object_id
,
r
.
extra_headers
from
swh_revision_list
(
root_revisions
,
num_revs
)
as
t
left
join
revision
r
on
t
.
id
=
r
.
id
left
join
person
a
on
a
.
id
=
r
.
author
left
join
person
c
on
c
.
id
=
r
.
committer
;
$$
;
create
or
replace
function
swh_revision_list_by_object_id
(
min_excl
bigint
,
max_incl
bigint
)
returns
setof
revision_entry
language
sql
stable
as
$$
with
revs
as
(
select
*
from
revision
where
object_id
>
min_excl
and
object_id
<=
max_incl
)
select
r
.
id
,
r
.
date
,
r
.
date_offset
,
r
.
date_neg_utc_offset
,
r
.
committer_date
,
r
.
committer_date_offset
,
r
.
committer_date_neg_utc_offset
,
r
.
type
,
r
.
directory
,
r
.
message
,
a
.
id
,
a
.
fullname
,
a
.
name
,
a
.
email
,
c
.
id
,
c
.
fullname
,
c
.
name
,
c
.
email
,
r
.
metadata
,
r
.
synthetic
,
array
(
select
rh
.
parent_id
::
bytea
from
revision_history
rh
where
rh
.
id
=
r
.
id
order
by
rh
.
parent_rank
)
as
parents
,
r
.
object_id
,
r
.
extra_headers
from
revs
r
left
join
person
a
on
a
.
id
=
r
.
author
left
join
person
c
on
c
.
id
=
r
.
committer
order
by
r
.
object_id
;
$$
;
-- TODO: add the migration magic query...
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jun 21, 6:53 PM (2 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3295952
Attached To
rDSTO Storage manager
Event Timeline
Log In to Comment