SQLiteSpy can now handle MM.DB IUNICODE

Get answers about using the current release of MediaMonkey for Windows.

Moderator: Gurus

chrisjj
Posts: 4933
Joined: Wed Feb 14, 2007 5:14 pm
Location: UK

SQLiteSpy can now handle MM.DB IUNICODE

Post by chrisjj » Thu Aug 21, 2014 8:52 am

SQLiteSpy has just received an update that lets it handle MM.DB without errors from the IUNICODE collation sequence.

1 On http://www.yunqa.de/delphi/doku.php/pro ... espy/index at top left, click Download.
2 Unzip
3 Launch SQLiteSpy.exe
4 Click Options, Options..., Extensions, enter MediaMonkey.DLL http://i.imgur.com/ulpG43U.png , click OK
5 Load MM.DB (e.g. Click File, Open Database, select MM.DB, click Open.)
6 See that the previous "no such collation" errors http://i.imgur.com/teXCSlm.png are now gone http://i.imgur.com/R9dVywR.png , and opening IUNICODE tables e.g. http://i.imgur.com/70rELnD.png now works http://i.imgur.com/sab95vq.png .

Many thanks to the SQLiteSpy developer, Ralf Junker.

EDIT: There remains an error "unknown tokenizer: mm" on the SongText table: http://i.imgur.com/WEWKQDQ.png . Though not listed as on http://www.mediamonkey.com/wiki/index.p ... _structure , this seems to be a standard table serving search functionality. Anyone who has info that might allow this error to be overcome, please do tell.

EDIT: Ralf suggests that during testing, to verify no breakage to existing indexes when insertingdeleting records, you can run Execute, Check Database Integrity (PRAGMA integrity_check), and verify that it returns 'ok'.
Chris

MMuser2011
Posts: 1308
Joined: Mon Oct 17, 2011 8:28 am
Location: Central Europe

Re: SQLiteSpy can now handle MM.DB IUNICODE

Post by MMuser2011 » Thu Aug 21, 2014 9:18 am

Great news!

Now we can finally use tables like 'Albums', 'Genres' and even 'Songs' with SQL commands like INSERT (new values) or UPDATE (existing values) including text strings using IUNICODE. Or just SELECT and ORDER BY rows as we need it.

Did you know:
You can drag & drop the MM.DB to SQLiteSpy. This will automatically open the tool itself and the database MM.DB. :wink:

Big thanks to the SQLiteSpy developer for this wonderful extension!
Magic Nodes v4.3.3 (2018-10-03) last free version SQL Viewer v2.4 (2009-10-25)
ExternalTools v1.4 (2011-05-09) iTunesMonkey 1.0 + Acoustid
Calculate Cover Size v1.7 (2012-10-23) RegExp Find & Replace v4.4.9 (2018-10-03) last free version

bwilly

Re: SQLiteSpy can now handle MM.DB IUNICODE

Post by bwilly » Thu Oct 02, 2014 9:58 pm

Same problem, unknown tokenizer: mm, in the Songs table.

Any ideas on this? Thanks.

MMuser2011
Posts: 1308
Joined: Mon Oct 17, 2011 8:28 am
Location: Central Europe

Re: SQLiteSpy can now handle MM.DB IUNICODE

Post by MMuser2011 » Fri Oct 03, 2014 2:22 am

Which SQL-command do you try to execute in the Songs table?
The only table I see the 'unknown tokenizer: mm' is SongsText.
Magic Nodes v4.3.3 (2018-10-03) last free version SQL Viewer v2.4 (2009-10-25)
ExternalTools v1.4 (2011-05-09) iTunesMonkey 1.0 + Acoustid
Calculate Cover Size v1.7 (2012-10-23) RegExp Find & Replace v4.4.9 (2018-10-03) last free version

naunman
Posts: 1
Joined: Sun Jan 11, 2015 1:26 am

Re: SQLiteSpy can now handle MM.DB IUNICODE

Post by naunman » Tue Jan 27, 2015 4:01 pm

Hi

I know that this is an old thread, but I still have an issue updating any text field in the MM DB. I have installed all the various extensions, use SQL Lite Spy. No success in updating any text fields.

To add insult to injury, the fields that I want to use - mainly video rellated, are not available in the API either.

Has any one succeeded?

Really is frustrating!

frz

Re: SQLiteSpy can now handle MM.DB IUNICODE

Post by frz » Tue Mar 15, 2016 1:03 pm

Hello, I was able to update a text field (songs.songtitle) using a very rude approach;
It may be applicable to other fields, with proper adjustments.

The procedure is the following:

0. read the entire procedure BEFORE USE. If you don't understand it completely, ASK for help;
1. BACKUP the DB. Not enough tested to be safe;
2. open the MM db with your favourite sqlite db manager;
3. copy the DDL of the update_songs_songtitle trigger (on the songs table);
4. DROP the update_songs_songtitle trigger;
5. execute the sql operation you need (on the songtitle field, e.g. update songs set Songtitle='mytitle' where id= 12020;)
6. recreate the update_songs_songtitle trigger;
7. done.

I had no error messages in updating the songtitle field using sqlite expert and sqlitespy, and (of course) the title was updated.

Post Reply