diff --git a/dll/win32/msi/alter.c b/dll/win32/msi/alter.c index 78f1a3930c7..7d272118537 100644 --- a/dll/win32/msi/alter.c +++ b/dll/win32/msi/alter.c @@ -70,7 +70,7 @@ static UINT ALTER_execute( struct tagMSIVIEW *view, MSIRECORD *record ) if (av->colinfo) return av->table->ops->add_column(av->table, av->colinfo->column, - av->colinfo->type, av->colinfo->temporary, av->hold == 1); + av->colinfo->type, av->hold == 1); if (av->hold == 1) av->table->ops->add_ref(av->table); diff --git a/dll/win32/msi/create.c b/dll/win32/msi/create.c index 94c62ec5733..3d6c5189f2b 100644 --- a/dll/win32/msi/create.c +++ b/dll/win32/msi/create.c @@ -181,7 +181,7 @@ UINT CREATE_CreateView( MSIDATABASE *db, MSIVIEW **view, LPCWSTR table, if (!col->table) col->table = table; - if( !col->temporary ) + if( !(col->type & MSITYPE_TEMPORARY) ) temp = FALSE; else if ( col->type & MSITYPE_KEY ) tempprim = TRUE; diff --git a/dll/win32/msi/msipriv.h b/dll/win32/msi/msipriv.h index 97126e39693..20cf8e8b87c 100644 --- a/dll/win32/msi/msipriv.h +++ b/dll/win32/msi/msipriv.h @@ -222,7 +222,6 @@ typedef struct _column_info LPCWSTR table; LPCWSTR column; INT type; - BOOL temporary; struct expr *val; struct _column_info *next; } column_info; @@ -337,7 +336,7 @@ typedef struct tagMSIVIEWOPS /* * add_column - adds a column to the table */ - UINT (*add_column)( struct tagMSIVIEW *view, LPCWSTR column, INT type, BOOL temporary, BOOL hold ); + UINT (*add_column)( struct tagMSIVIEW *view, LPCWSTR column, INT type, BOOL hold ); /* * sort - orders the table by columns diff --git a/dll/win32/msi/sql.y b/dll/win32/msi/sql.y index 8ffbcd4de58..7bdace72981 100644 --- a/dll/win32/msi/sql.y +++ b/dll/win32/msi/sql.y @@ -318,7 +318,6 @@ column_and_type: { $$ = $1; $$->type = ($2 | MSITYPE_VALID); - $$->temporary = $2 & MSITYPE_TEMPORARY ? TRUE : FALSE; } ; diff --git a/dll/win32/msi/table.c b/dll/win32/msi/table.c index 5a1466592f1..3326958d941 100644 --- a/dll/win32/msi/table.c +++ b/dll/win32/msi/table.c @@ -764,7 +764,7 @@ UINT msi_create_table( MSIDATABASE *db, LPCWSTR name, column_info *col_info, table->colinfo[ i ].type = col->type; table->colinfo[ i ].offset = 0; table->colinfo[ i ].hash_table = NULL; - table->colinfo[ i ].temporary = col->temporary; + table->colinfo[ i ].temporary = (col->type & MSITYPE_TEMPORARY) != 0; } table_calc_column_offsets( db, table->colinfo, table->col_count); @@ -2041,9 +2041,10 @@ static UINT TABLE_release(struct tagMSIVIEW *view) } static UINT TABLE_add_column(struct tagMSIVIEW *view, LPCWSTR column, - INT type, BOOL temporary, BOOL hold) + INT type, BOOL hold) { UINT i, r, table_id, col_id, size, offset; + BOOL temporary = type & MSITYPE_TEMPORARY; MSITABLEVIEW *tv = (MSITABLEVIEW*)view; MSICOLUMNINFO *colinfo;