MSI Query tests

EA Durbin ead1234 at hotmail.com
Thu Jun 1 19:36:58 CDT 2006


or not, LastSequence of 0, is being returned in DiskId of 22 further down in 
the text. which is not greater than 1, I guess the WHERE statement is 
broken, as its returning a 0, when the query is SELECT * FROM `Media` where 
`LastSequence` > 1.

>From: "EA Durbin" <ead1234 at hotmail.com>
>To: mike at codeweavers.com
>CC: wine-devel at winehq.org
>Subject: RE: MSI Query tests
>Date: Thu, 01 Jun 2006 19:22:31 -0500
>
>
>I've found a simple solution to this, not a fix for the SQL bug, but a fix 
>for InstallFiles().
>
>If you notice in where.txt, Im selecting * from media WHERE LastSequence > 
>1. The default sort order for the results is by the table key of DiskId, 
>which follows that of LastSequence.
>
>Simply dropping the ORDER BY statement from the query in InstallFiles() 
>causes it to return the results in order by table key of DiskId, using the 
>WHERE statement where LastSequence > file->Sequence, so it never returns 
>the LastSequence of 0, thus fixing the InstallFiles() bug.
>
>>From: "EA Durbin" <ead1234 at hotmail.com>
>>To: mike at codeweavers.com
>>CC: wine-devel at winehq.org
>>Subject: MSI Query tests
>>Date: Thu, 01 Jun 2006 19:07:53 -0500
>>
>>I've written some tests to debug the MSI Installer in wine, in which I 
>>have tested various SQL statements against the America's Army installer 
>>database and iterated through the queries. Here are the results.
>>
>>It appears that in my attachment, where.txt, which is a standard where sql 
>>statement,
>>SELECT * FROM `Media` WHERE `LastSequence` > 1 that it returns the SQL 
>>statement correctly.
>>
>>Then in orderby.txt i query
>>SELECT * FROM `Media` ORDER BY `LastSequence` and it returns the results 
>>as expected.
>>
>>Then in compoundsql.txt I query SELECT * FROM `Media` WHERE `LastSequence` 
>> > 1 ORDER BY `LastSequence`, which is just as the statement appears in 
>>InstallFiles().
>>
>>In this query it ignores the WHERE CLAUSE and uses what is to the far 
>>right , the ORDER BY LastSequence statement, which first grabs the 
>>LastSequence of 0.
>>
>>In conclusion, the actual problem in InstallFiles() is the inability to 
>>handle the compound SQL statement with a WHERE and an ORDER BY together.
>>
>>Unfortunately I don't understand wine's SQL underpinnings enough to where 
>>I can implement a solution. I've looked it over and it appears somewhat 
>>cryptic, so I will need some help.
>>
>
>
>><< compoundsql.txt >>
>
>
>><< where.txt >>
>
>
>><< orderby.txt >>
>
>
>>
>
>
>
>





More information about the wine-devel mailing list