msi: Use a hash table for reordering rows in a WHERE query to conserve space

James Hawkins truiken at gmail.com
Sun Dec 2 20:42:25 CST 2007


Hi,

Fixes bug 10365.  It would be nice if we could leave it as a simple
lookup table, but some installers, notably the Nero installer, use
certain sql queries where three tables with thousands of elements each
are "joined", leading to a virtual table with billions of rows.  We
don't run out of memory with the join because it's virtual, but
creating an array of a few billion UINTs doesn't work with the memory
in machines these days.

http://bugs.winehq.org/show_bug.cgi?id=10365

Changelog:
* Use a hash table for reordering rows in a WHERE query to conserve space.

 dlls/msi/where.c |  117 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 98 insertions(+), 19 deletions(-)

-- 
James Hawkins
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-Use-a-hash-table-for-reordering-rows-in-a-WHERE-qu.patch
Type: text/x-patch
Size: 7009 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20071202/44bd1dfd/attachment.bin 


More information about the wine-patches mailing list