}
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,
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)
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: