Skip to content

Commit

Permalink
Create canonical_recording_release_redirect in MB db
Browse files Browse the repository at this point in the history
This table is needed in MB as it is joined to in the queries to
generate mb_metadata_cache.
  • Loading branch information
amCap1712 committed Jan 18, 2024
1 parent a935925 commit 6a707db
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 16 deletions.
18 changes: 12 additions & 6 deletions mbid_mapping/mapping/canonical_musicbrainz_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,30 +82,36 @@ def create_canonical_musicbrainz_data(use_lb_conn: bool):
unlogged = True

# Setup all the needed objects
can = CanonicalRecordingRedirect(mb_conn, lb_conn, unlogged=unlogged)
can_rec_rel = CanonicalRecordingReleaseRedirect(mb_conn, lb_conn, unlogged=unlogged)
can_rel = CanonicalReleaseRedirect(mb_conn, lb_conn, unlogged=unlogged)
releases = CanonicalRelease(mb_conn, unlogged=False)
can = CanonicalRecordingRedirect(mb_conn, lb_conn, unlogged=unlogged)
mapping = CanonicalMusicBrainzData(mb_conn, lb_conn, unlogged=unlogged)
mapping.add_additional_bulk_table(can)
can_rel = CanonicalReleaseRedirect(mb_conn, lb_conn, unlogged=unlogged)

if lb_conn:
can_rec_rel = CanonicalRecordingReleaseRedirect(lb_conn, mb_conn, unlogged=unlogged)
else:
can_rec_rel = CanonicalRecordingReleaseRedirect(mb_conn, unlogged=unlogged)

mapping_release = CanonicalMusicBrainzDataReleaseSupport(mb_conn, lb_conn, unlogged=unlogged)

# Carry out the bulk of the work
create_custom_sort_tables(mb_conn)
releases.run(no_swap=True)
mapping_release.run(no_swap=True)
mapping.run(no_swap=True)
can_rec_rel.run(no_swap=True)
can_rel.run(no_swap=True)

can_rec_rel.run(no_swap=True)
mapping_release.run(no_swap=True)

# Now swap everything into production in a single transaction
log("canonical_musicbrainz_data: Swap into production")
if lb_conn:
releases.swap_into_production(no_swap_transaction=True, swap_conn=mb_conn)
mapping_release.swap_into_production(no_swap_transaction=True, swap_conn=lb_conn)
mapping.swap_into_production(no_swap_transaction=True, swap_conn=lb_conn)
can.swap_into_production(no_swap_transaction=True, swap_conn=lb_conn)
can_rec_rel.swap_into_production(no_swap_transaction=True, swap_conn=lb_conn)
can_rec_rel.swap_into_production(no_swap_transaction=True, swap_conn=mb_conn)
can_rel.swap_into_production(no_swap_transaction=True, swap_conn=lb_conn)
mb_conn.commit()
lb_conn.commit()
Expand Down
22 changes: 12 additions & 10 deletions mbid_mapping/mapping/canonical_recording_release_redirect.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,22 @@ def get_create_table_columns(self):
("release_mbid", "UUID NOT NULL")]

def get_insert_queries(self):
return []
return [
"""SELECT recording_mbid
, canonical_release_mbid AS release_mbid
FROM mapping.canonical_recording_redirect_tmp
""",
"""SELECT recording_mbid
, release_mbid
FROM mapping.canonical_musicbrainz_data_tmp
"""
]

def get_post_process_queries(self):
return ["""INSERT INTO mapping.canonical_recording_release_redirect_tmp (recording_mbid, release_mbid)
SELECT recording_mbid
, canonical_release_mbid AS release_mbid
FROM mapping.canonical_recording_redirect_tmp""",
"""INSERT INTO mapping.canonical_recording_release_redirect_tmp (recording_mbid, release_mbid)
SELECT recording_mbid
, release_mbid
FROM mapping.canonical_musicbrainz_data_tmp"""]
return []

def get_index_names(self):
return [("recording_mbid_ndx_canonical_recording_release_redirect", "recording_mbid", True)]

def process_row(self, row):
return []
return [(row["recording_mbid"], row["release_mbid"])]

0 comments on commit 6a707db

Please sign in to comment.