View Issue Details

IDProjectCategoryView StatusLast Update
0007962MediaMonkey (current)Framework: Scripts/Extensionspublic2011-06-17 13:36
Reporterzvezdan 
PriorityurgentSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version4.0 
Target Version4.0Fixed in Version4.0 
Summary0007962: A bug in SQLite 3.6.18 -> update to the latest version
DescriptionThere is a problem with some SQL queries used in OpenSQL and AddTracksFromQuery, manifesting only in MM4 (tested 1333, 1343, 1389). It is manifesting in MagicNodes as some user reported (http://www.mediamonkey.com/forum/viewtopic.php?p=301210#p301210), but I tested the same queries with Bex's SQLView and got the same results.

Let say that you have one track with Title = '4 Steps'. The next query displays that track in MM3 just fine, but it is not displayed in MM4:
SELECT * FROM Songs WHERE cast(SongTitle COLLATE NOCASE as integer) < 20 AND SongTitle COLLATE NOCASE = '4 Steps'

At first I though that something happened within the new SQLite engine used in MM4, but that query works fine in SQLiteSpy 1.9.0 which has SQLite 3.7.6 (MM 1389 has the older 3.6.18 engine as you already know).

It is really strange because the next two queries display the mentioned track even in MM4:
SELECT * FROM Songs WHERE cast(SongTitle COLLATE NOCASE as integer) < 20

SELECT * FROM Songs WHERE SongTitle COLLATE NOCASE = '4 Steps'

So, in MM4 the record is displayed if criterion 1 = True, it is also displayed if criterion 2 = True, but it is not displayed if criterion 1 = True AND criterion 2 = True, which doesn't follows the Boolean logic.

By the way, I wrote COLLATE NOCASE in these queries only because of testing in SQLiteSpy, to avoid its error about unknown collating with IUnicode.
TagsNo tags attached.
Fixed in build1392

Relationships

related to 0007653 closedpeke Last.fm plugin Collections/Filters do not work as designed 
related to 0008079 closedpetr MediaMonkey (current) Failed DB updates from MM3 to MM4 in some cases 

Activities

jiri

2011-06-16 09:43

administrator   ~0026169

I can confirm that this is a bug in SQLite. It seems to be worth updating to the latest version, even though MM 4.0 is close to being released.

jiri

2011-06-16 09:46

administrator   ~0026170

Fixed in build 1392.

peke

2011-06-16 10:04

developer   ~0026171

This could be related to bug I have found in OpenSQL regarding bug 0007653 where in case that OpenSQL parameter is sent with trailing space OpenSQL do not return anything an lock Last.fm Client.

zvezdan

2011-06-17 13:36

updater   ~0026208

I don't know if this is related to Peke's bug, but my bug is fixed in 1392. Thanks.