Commit 73774b3e authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

msi: Disable an optimization in the execution of WHERE clauses.

There's no guarantee that the condition strings are in the string table.
parent 15f5b9dc
......@@ -1933,7 +1933,7 @@ static void test_where(void)
rec = 0;
query = "SELECT * FROM `Media` WHERE `DiskPrompt` <> 'Cabinet'";
r = do_query(hdb, query, &rec);
todo_wine ok( r == ERROR_SUCCESS, "query failed: %d\n", r );
ok( r == ERROR_SUCCESS, "query failed: %d\n", r );
MsiCloseHandle( rec );
rec = 0;
......
......@@ -397,6 +397,9 @@ static UINT WHERE_execute( struct tagMSIVIEW *view, MSIRECORD *record )
return ERROR_OUTOFMEMORY;
wv->row_count = 0;
if (0) /* disable optimization, there's no guarantee that strings are in the string table */
{
if (wv->cond->type == EXPR_STRCMP)
{
MSIITERHANDLE handle = NULL;
......@@ -441,6 +444,7 @@ static UINT WHERE_execute( struct tagMSIVIEW *view, MSIRECORD *record )
}
/* else fallback to slow case */
}
}
for( i=0; i<count; i++ )
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment