sync msi to wine 1.1.33
[reactos.git] / reactos / dll / win32 / msi / where.c
index fc804a4..32f71b9 100644 (file)
@@ -490,17 +490,18 @@ static UINT WHERE_get_dimensions( struct tagMSIVIEW *view, UINT *rows, UINT *col
 }
 
 static UINT WHERE_get_column_info( struct tagMSIVIEW *view,
-                UINT n, LPWSTR *name, UINT *type, BOOL *temporary )
+                UINT n, LPWSTR *name, UINT *type, BOOL *temporary,
+                LPWSTR *table_name)
 {
     MSIWHEREVIEW *wv = (MSIWHEREVIEW*)view;
 
-    TRACE("%p %d %p %p %p\n", wv, n, name, type, temporary );
+    TRACE("%p %d %p %p %p %p\n", wv, n, name, type, temporary, table_name );
 
     if( !wv->table )
          return ERROR_FUNCTION_FAILED;
 
     return wv->table->ops->get_column_info( wv->table, n, name,
-                                            type, temporary );
+                                            type, temporary, table_name );
 }
 
 static UINT WHERE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
@@ -597,11 +598,13 @@ static UINT WHERE_VerifyCondition( MSIDATABASE *db, MSIVIEW *table, struct expr
     switch( cond->type )
     {
     case EXPR_COLUMN:
-        r = VIEW_find_column( table, cond->u.column, &val );
+        r = VIEW_find_column( table, cond->u.column.column,
+                              cond->u.column.table, &val );
         if( r == ERROR_SUCCESS )
         {
             UINT type = 0;
-            r = table->ops->get_column_info( table, val, NULL, &type, NULL );
+            r = table->ops->get_column_info( table, val, NULL, &type,
+                                             NULL, NULL );
             if( r == ERROR_SUCCESS )
             {
                 if (type&MSITYPE_STRING)
@@ -619,7 +622,7 @@ static UINT WHERE_VerifyCondition( MSIDATABASE *db, MSIVIEW *table, struct expr
         else
         {
             *valid = 0;
-            WARN("Couldn't find column %s\n", debugstr_w( cond->u.column ) );
+            WARN("Couldn't find column %s.%s\n", debugstr_w( cond->u.column.table ), debugstr_w( cond->u.column.column ) );
         }
         break;
     case EXPR_COMPLEX: