Giocoso 3 - The Pro Menu : Clear the remote recordings table

1.0 Introduction

When you take the Pro menu, Option 1 to initialise a Pro database, you trigger the complete wiping of the Pro database's recordings and plays table (and their re-population from the equivalent local tables). Every time you subsequently play a piece of music on a local device, that new play is 'pushed' or copied to the Pro database. Similarly, every time you use the Database Management menu, Options 2 or 3 to refresh the local database, the Pro database equivalent global_recordings table has anything newly-discovered on the local device copied to it. It is not obvious, therefore, why you might ever need to wipe the remote recordings table and populate it from scratch: if the local database refreshes are picking up new additions to your collection and copying that data over to the Pro database, why would you nuke the Pro database's table completely?

Well, it comes down to the precautionary principle: since you might ever need the facility, it's made available to you... but it's hopefully there, never to be used!

The reason why it's conceivable you would want to use it comes down to understanding how the Pro database's definition of 'new recording' differs from the local database's definition: something I've documented at length here.

If you physically relocate a recording of someone's Sinfonietta from /orchestral to /symphonic, for example: the local database will see the change, remove the /orchestral item from its database and add the /symphonic version to its database. It will then push that new record to the Pro database ...but the 'push' only copies new data across to the Pro database. The old /orchestral item is not removed from the Pro database. Therefore, clients will potentially be told they can play a recording that physically no longer exists.

The opposite situation also causes problems. Let's say you don't physically move a FLAC in any way, but you correct the spelling of the COMPOSER tag from "Bartok" to "Bartók". That change in metadata is not something the local database will notice and will therefore not push to the Pro database. However, the metadata change would be something that would define a new recording in the Pro database and therefore the recording really ought to be re-pushed to the Pro database so that the metadata alterations are picked up by it.

Basically: if you are doing a lot of additions, deletions and metadata curation to your music collection, the local database of recordings and the Pro copy of it can get confused as to what actually exists, what no longer exists and what the things that are claimed to exist should be catalogued as! From time to time, in that scenario, a wipe-and-start-again approach might therefore be considered appropriate: and that's why the option to nuke the remote recordings table is provided.

Be warned that the option is destructive, in that it literally zaps the entire Pro recordings table -and, given that the Pro database is shared amongst all Giocoso clients, that means no client will be able to play any further music at all until the re-population of the recordings table completes (see the Pro menu, Option 4). However, it's a safe option to perform in the sense that the recordings on disk still exist and can thus be re-discovered and re-catalogued if necessary. It's also completely safe in that wiping the Pro database's copy of the recordings table doesn't do anything to the local copy of the same thing. Re-creating the Pro version of the table is thus trivially easy to do. Nevertheless, the wipe function does mean all music playback must stop until the re-push option is taken, so this is something you would only really want to do 'out of hours'.

2.0 The Clear Recordings Process

There's not a lot to document here! If you tap '3' when viewing the Pro menu, this immediately happens:

And that's the job done and dusted! It takes no time at all to complete and there are no 'are you sure? are you really, really sure?' warnings (on the grounds that re-populating the table is trivially easy to do, though it might take some time).

3.0 Next Steps

Having wiped the global_recordings table, it ought to be re-populated. That's done in two ways:

  1. At the next local database fast or full refresh, if the client is declared in the Configuration options to be a primary device, the entire local recordings table is copied to the remote, Pro equivalent; or
  2. Any client device, primary or otherwise, can manually take the Pro menu, Option 4: Push recordings to remote database and thereby have the entire local recordings table copied to the remote Pro equivalent on demand

Until such time as the global_plays table has data re-inserted into it, no Pro clients will be able to play music, unless they re-configure themselves to not being a Pro client (by using the Administration menu, Option 2 and wiping out the Remote MySQL Server IP Address entry, setting it to blank).


[ User Manual Home ] | [ Play Music ] | [ Database Management ] | [ Reporting ] | [ Administration ] | [ Pro ]