msi: Return MSICONDITION_NONE in MsiDatabaseIsTablePersistent if the table doesn't exist.
This commit is contained in:
parent
68401a151a
commit
d677bd7f3b
|
@ -563,7 +563,7 @@ extern const WCHAR *msi_string_lookup_id( string_table *st, UINT id );
|
||||||
extern UINT msi_string_get_codepage( string_table *st );
|
extern UINT msi_string_get_codepage( string_table *st );
|
||||||
|
|
||||||
|
|
||||||
extern BOOL TABLE_Exists( MSIDATABASE *db, LPWSTR name );
|
extern BOOL TABLE_Exists( MSIDATABASE *db, LPCWSTR name );
|
||||||
extern MSICONDITION MSI_DatabaseIsTablePersistent( MSIDATABASE *db, LPCWSTR table );
|
extern MSICONDITION MSI_DatabaseIsTablePersistent( MSIDATABASE *db, LPCWSTR table );
|
||||||
|
|
||||||
extern UINT read_raw_stream_data( MSIDATABASE*, LPCWSTR stname,
|
extern UINT read_raw_stream_data( MSIDATABASE*, LPCWSTR stname,
|
||||||
|
|
|
@ -1027,7 +1027,7 @@ static UINT get_tablecolumns( MSIDATABASE *db,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* try to find the table name in the _Tables table */
|
/* try to find the table name in the _Tables table */
|
||||||
BOOL TABLE_Exists( MSIDATABASE *db, LPWSTR name )
|
BOOL TABLE_Exists( MSIDATABASE *db, LPCWSTR name )
|
||||||
{
|
{
|
||||||
UINT r, table_id = 0, i, count;
|
UINT r, table_id = 0, i, count;
|
||||||
MSITABLE *table = NULL;
|
MSITABLE *table = NULL;
|
||||||
|
@ -1716,6 +1716,9 @@ MSICONDITION MSI_DatabaseIsTablePersistent( MSIDATABASE *db, LPCWSTR table )
|
||||||
if (!table)
|
if (!table)
|
||||||
return MSICONDITION_ERROR;
|
return MSICONDITION_ERROR;
|
||||||
|
|
||||||
|
if (!TABLE_Exists( db, table ))
|
||||||
|
return MSICONDITION_NONE;
|
||||||
|
|
||||||
return MSICONDITION_FALSE;
|
return MSICONDITION_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2648,10 +2648,10 @@ static void test_temporary_table(void)
|
||||||
|
|
||||||
cond = MsiDatabaseIsTablePersistent(hdb, "_Columns");
|
cond = MsiDatabaseIsTablePersistent(hdb, "_Columns");
|
||||||
ok( cond == MSICONDITION_NONE, "wrong return condition\n");
|
ok( cond == MSICONDITION_NONE, "wrong return condition\n");
|
||||||
|
}
|
||||||
|
|
||||||
cond = MsiDatabaseIsTablePersistent(hdb, "_Streams");
|
cond = MsiDatabaseIsTablePersistent(hdb, "_Streams");
|
||||||
ok( cond == MSICONDITION_NONE, "wrong return condition\n");
|
ok( cond == MSICONDITION_NONE, "wrong return condition\n");
|
||||||
}
|
|
||||||
|
|
||||||
query = "CREATE TABLE `P` ( `B` SHORT NOT NULL, `C` CHAR(255) PRIMARY KEY `C`)";
|
query = "CREATE TABLE `P` ( `B` SHORT NOT NULL, `C` CHAR(255) PRIMARY KEY `C`)";
|
||||||
r = run_query(hdb, 0, query);
|
r = run_query(hdb, 0, query);
|
||||||
|
|
Loading…
Reference in New Issue