diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-11-30 12:29:58 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-06 20:30:31 +0100 |
commit | 4f02eb34cb85a498aebf0b148a9c1e36ebe081c9 (patch) | |
tree | c27d335d9c228fb05054efe4b376c0aa5380c787 | |
parent | 1ece2a5f8a187d4493c96aff3a1ad64eeb497bcb (diff) | |
download | msitools-4f02eb34cb85a498aebf0b148a9c1e36ebe081c9.tar.gz msitools-4f02eb34cb85a498aebf0b148a9c1e36ebe081c9.tar.xz msitools-4f02eb34cb85a498aebf0b148a9c1e36ebe081c9.zip |
abandon camelcase
-rw-r--r-- | include/libmsi.h | 66 | ||||
-rw-r--r-- | libmsi/Makefile.am | 4 | ||||
-rw-r--r-- | libmsi/alter.c | 60 | ||||
-rw-r--r-- | libmsi/create.c | 32 | ||||
-rw-r--r-- | libmsi/database.c | 172 | ||||
-rw-r--r-- | libmsi/delete.c | 40 | ||||
-rw-r--r-- | libmsi/distinct.c | 36 | ||||
-rw-r--r-- | libmsi/drop.c | 22 | ||||
-rw-r--r-- | libmsi/handle.c | 4 | ||||
-rw-r--r-- | libmsi/insert.c | 56 | ||||
-rw-r--r-- | libmsi/msipriv.h | 72 | ||||
-rw-r--r-- | libmsi/msiquery.c | 124 | ||||
-rw-r--r-- | libmsi/query.h | 30 | ||||
-rw-r--r-- | libmsi/record.c | 106 | ||||
-rw-r--r-- | libmsi/select.c | 78 | ||||
-rw-r--r-- | libmsi/sql-parser.y | 112 | ||||
-rw-r--r-- | libmsi/storages.c | 76 | ||||
-rw-r--r-- | libmsi/streams.c | 112 | ||||
-rw-r--r-- | libmsi/string.c | 20 | ||||
-rw-r--r-- | libmsi/suminfo.c | 24 | ||||
-rw-r--r-- | libmsi/table.c | 352 | ||||
-rw-r--r-- | libmsi/tokenize.c | 10 | ||||
-rw-r--r-- | libmsi/update.c | 48 | ||||
-rw-r--r-- | libmsi/where.c | 120 | ||||
-rw-r--r-- | tests/testdatabase.c | 4196 | ||||
-rw-r--r-- | tests/testrecord.c | 370 | ||||
-rw-r--r-- | tests/testsuminfo.c | 258 |
27 files changed, 3301 insertions, 3299 deletions
diff --git a/include/libmsi.h b/include/libmsi.h index df65688..194d479 100644 --- a/include/libmsi.h +++ b/include/libmsi.h @@ -145,58 +145,58 @@ extern "C" { /* view manipulation */ -unsigned MsiQueryFetch(LibmsiQuery *,LibmsiRecord **); -unsigned MsiQueryExecute(LibmsiQuery *,LibmsiRecord *); -unsigned MsiQueryClose(LibmsiQuery *); -unsigned MsiDatabaseOpenQuery(LibmsiDatabase *,const char *,LibmsiQuery **); -LibmsiDBError MsiQueryGetError(LibmsiQuery *,char *,unsigned *); +unsigned libmsi_query_fetch(LibmsiQuery *,LibmsiRecord **); +unsigned libmsi_query_execute(LibmsiQuery *,LibmsiRecord *); +unsigned libmsi_query_close(LibmsiQuery *); +unsigned libmsi_database_open_query(LibmsiDatabase *,const char *,LibmsiQuery **); +LibmsiDBError libmsi_query_get_error(LibmsiQuery *,char *,unsigned *); -LibmsiDBState MsiGetDatabaseState(LibmsiDatabase *); +LibmsiDBState libmsi_database_get_state(LibmsiDatabase *); /* record manipulation */ -LibmsiRecord * MsiCreateRecord(unsigned); -unsigned MsiRecordClearData(LibmsiRecord *); -unsigned MsiRecordSetInteger(LibmsiRecord *,unsigned,int); -unsigned MsiRecordSetString(LibmsiRecord *,unsigned,const char *); -unsigned MsiRecordGetString(const LibmsiRecord *,unsigned,char *,unsigned *); -unsigned MsiRecordGetFieldCount(const LibmsiRecord *); -int MsiRecordGetInteger(const LibmsiRecord *,unsigned); -unsigned MsiRecordDataSize(const LibmsiRecord *,unsigned); -bool MsiRecordIsNull(const LibmsiRecord *,unsigned); +LibmsiRecord * libmsi_record_create(unsigned); +unsigned libmsi_record_clear_data(LibmsiRecord *); +unsigned libmsi_record_set_int(LibmsiRecord *,unsigned,int); +unsigned libmsi_record_set_string(LibmsiRecord *,unsigned,const char *); +unsigned libmsi_record_get_string(const LibmsiRecord *,unsigned,char *,unsigned *); +unsigned libmsi_record_get_field_count(const LibmsiRecord *); +int libmsi_record_get_integer(const LibmsiRecord *,unsigned); +unsigned libmsi_record_get_field_size(const LibmsiRecord *,unsigned); +bool libmsi_record_is_null(const LibmsiRecord *,unsigned); -unsigned MsiRecordSetStream(LibmsiRecord *,unsigned,const char *); -unsigned MsiRecordReadStream(LibmsiRecord *,unsigned,char*,unsigned *); +unsigned libmsi_record_load_stream(LibmsiRecord *,unsigned,const char *); +unsigned libmsi_record_save_stream(LibmsiRecord *,unsigned,char*,unsigned *); -unsigned MsiDatabaseGetPrimaryKeys(LibmsiDatabase *,const char *,LibmsiRecord **); +unsigned libmsi_database_get_primary_keys(LibmsiDatabase *,const char *,LibmsiRecord **); /* database transforms */ -unsigned MsiDatabaseApplyTransform(LibmsiDatabase *,const char *,int); +unsigned libmsi_database_apply_transform(LibmsiDatabase *,const char *,int); -unsigned MsiQueryGetColumnInfo(LibmsiQuery *, LibmsiColInfo, LibmsiRecord **); +unsigned libmsi_query_get_column_info(LibmsiQuery *, LibmsiColInfo, LibmsiRecord **); -unsigned MsiSummaryInfoGetProperty(LibmsiSummaryInfo *,unsigned,unsigned *,int *,uint64_t*,char *,unsigned *); +unsigned libmsi_summary_info_get_property(LibmsiSummaryInfo *,unsigned,unsigned *,int *,uint64_t*,char *,unsigned *); -unsigned MsiSummaryInfoSetProperty(LibmsiSummaryInfo *, unsigned, unsigned, int, uint64_t*, const char *); +unsigned libmsi_summary_info_set_property(LibmsiSummaryInfo *, unsigned, unsigned, int, uint64_t*, const char *); -unsigned MsiDatabaseExport(LibmsiDatabase *, const char *, int fd); +unsigned libmsi_database_export(LibmsiDatabase *, const char *, int fd); -unsigned MsiDatabaseImport(LibmsiDatabase *, const char *, const char *); +unsigned libmsi_database_import(LibmsiDatabase *, const char *, const char *); -unsigned MsiOpenDatabase(const char *, const char *, LibmsiDatabase **); +unsigned libmsi_database_open(const char *, const char *, LibmsiDatabase **); -LibmsiCondition MsiDatabaseIsTablePersistent(LibmsiDatabase *, const char *); +LibmsiCondition libmsi_database_is_table_persistent(LibmsiDatabase *, const char *); -unsigned MsiSummaryInfoPersist(LibmsiSummaryInfo *); -unsigned MsiSummaryInfoGetPropertyCount(LibmsiSummaryInfo *,unsigned *); +unsigned libmsi_summary_info_persist(LibmsiSummaryInfo *); +unsigned libmsi_summary_info_get_property_count(LibmsiSummaryInfo *,unsigned *); -unsigned MsiQueryModify(LibmsiQuery *, LibmsiModify, LibmsiRecord *); +unsigned libmsi_query_modify(LibmsiQuery *, LibmsiModify, LibmsiRecord *); -unsigned MsiDatabaseMerge(LibmsiDatabase *, LibmsiDatabase *, const char *); +unsigned libmsi_database_merge(LibmsiDatabase *, LibmsiDatabase *, const char *); /* Non Unicode */ -unsigned MsiGetSummaryInformation(LibmsiDatabase *, unsigned, LibmsiSummaryInfo **); -unsigned MsiDatabaseCommit(LibmsiDatabase *); -unsigned MsiCloseHandle(void *); +unsigned libmsi_database_get_summary_info(LibmsiDatabase *, unsigned, LibmsiSummaryInfo **); +unsigned libmsi_database_commit(LibmsiDatabase *); +unsigned libmsi_unref(void *); #ifdef __cplusplus } diff --git a/libmsi/Makefile.am b/libmsi/Makefile.am index e6d51b9..32562d7 100644 --- a/libmsi/Makefile.am +++ b/libmsi/Makefile.am @@ -21,7 +21,9 @@ libmsi_la_SOURCES = alter.c create.c database.c delete.c distinct.c \ msiserver_i.c \ utf16/snprintfW.c utf16/sprintfW.c utf16/strtolW.c -libmsi_la_LDFLAGS = -no-undefined +libmsi_la_LDFLAGS = -no-undefined -rpath $(libdir) \ + -export-symbols-regex='^libmsi_' + libmsi_la_LIBADD = \ $(libmsi_la_DEPENDENCIES) \ -lshlwapi \ diff --git a/libmsi/alter.c b/libmsi/alter.c index 4b8fcf9..8281b9e 100644 --- a/libmsi/alter.c +++ b/libmsi/alter.c @@ -41,7 +41,7 @@ typedef struct LibmsiAlterView int hold; } LibmsiAlterView; -static unsigned ALTER_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned alter_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -50,7 +50,7 @@ static unsigned ALTER_fetch_int( LibmsiView *view, unsigned row, unsigned col, u return ERROR_FUNCTION_FAILED; } -static unsigned ALTER_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm) +static unsigned alter_view_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -59,7 +59,7 @@ static unsigned ALTER_fetch_stream( LibmsiView *view, unsigned row, unsigned col return ERROR_FUNCTION_FAILED; } -static unsigned ALTER_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) +static unsigned alter_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -68,7 +68,7 @@ static unsigned ALTER_get_row( LibmsiView *view, unsigned row, LibmsiRecord **re return av->table->ops->get_row(av->table, row, rec); } -static unsigned ITERATE_columns(LibmsiRecord *row, void *param) +static unsigned count_iter(LibmsiRecord *row, void *param) { (*(unsigned *)param)++; return ERROR_SUCCESS; @@ -87,15 +87,15 @@ static bool check_column_exists(LibmsiDatabase *db, const WCHAR *table, const WC '`','N','a','m','e','`','=','\'','%','s','\'',0 }; - r = MSI_OpenQuery(db, &view, query, table, column); + r = _libmsi_query_open(db, &view, query, table, column); if (r != ERROR_SUCCESS) return false; - r = MSI_QueryExecute(view, NULL); + r = _libmsi_query_execute(view, NULL); if (r != ERROR_SUCCESS) goto done; - r = MSI_QueryFetch(view, &rec); + r = _libmsi_query_fetch(view, &rec); if (r == ERROR_SUCCESS) msiobj_release(&rec->hdr); @@ -118,7 +118,7 @@ static unsigned alter_add_column(LibmsiAlterView *av) 'B','Y',' ','`','N','u','m','b','e','r','`',0 }; - r = TABLE_CreateView(av->db, szColumns, &columns); + r = table_view_create(av->db, szColumns, &columns); if (r != ERROR_SUCCESS) return r; @@ -128,10 +128,10 @@ static unsigned alter_add_column(LibmsiAlterView *av) return ERROR_BAD_QUERY_SYNTAX; } - r = MSI_OpenQuery(av->db, &view, query, av->colinfo->table, av->colinfo->column); + r = _libmsi_query_open(av->db, &view, query, av->colinfo->table, av->colinfo->column); if (r == ERROR_SUCCESS) { - r = MSI_IterateRecords(view, NULL, ITERATE_columns, &colnum); + r = _libmsi_query_iterate_records(view, NULL, count_iter, &colnum); msiobj_release(&view->hdr); if (r != ERROR_SUCCESS) { @@ -147,7 +147,7 @@ static unsigned alter_add_column(LibmsiAlterView *av) return r; } -static unsigned ALTER_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned alter_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiAlterView *av = (LibmsiAlterView*)view; unsigned ref; @@ -169,7 +169,7 @@ static unsigned ALTER_execute( LibmsiView *view, LibmsiRecord *record ) return ERROR_SUCCESS; } -static unsigned ALTER_close( LibmsiView *view ) +static unsigned alter_view_close( LibmsiView *view ) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -178,7 +178,7 @@ static unsigned ALTER_close( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned ALTER_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned alter_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -187,7 +187,7 @@ static unsigned ALTER_get_dimensions( LibmsiView *view, unsigned *rows, unsigned return ERROR_FUNCTION_FAILED; } -static unsigned ALTER_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned alter_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -197,7 +197,7 @@ static unsigned ALTER_get_column_info( LibmsiView *view, unsigned n, const WCHAR return ERROR_FUNCTION_FAILED; } -static unsigned ALTER_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned alter_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row ) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -207,7 +207,7 @@ static unsigned ALTER_modify( LibmsiView *view, LibmsiModify eModifyMode, return ERROR_FUNCTION_FAILED; } -static unsigned ALTER_delete( LibmsiView *view ) +static unsigned alter_view_delete( LibmsiView *view ) { LibmsiAlterView *av = (LibmsiAlterView*)view; @@ -219,7 +219,7 @@ static unsigned ALTER_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned ALTER_find_matching_rows( LibmsiView *view, unsigned col, +static unsigned alter_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { TRACE("%p, %d, %u, %p\n", view, col, val, *handle); @@ -227,21 +227,21 @@ static unsigned ALTER_find_matching_rows( LibmsiView *view, unsigned col, return ERROR_FUNCTION_FAILED; } -static const LibmsiViewOPS alter_ops = +static const LibmsiViewOps alter_ops = { - ALTER_fetch_int, - ALTER_fetch_stream, - ALTER_get_row, + alter_view_fetch_int, + alter_view_fetch_stream, + alter_view_get_row, NULL, NULL, NULL, - ALTER_execute, - ALTER_close, - ALTER_get_dimensions, - ALTER_get_column_info, - ALTER_modify, - ALTER_delete, - ALTER_find_matching_rows, + alter_view_execute, + alter_view_close, + alter_view_get_dimensions, + alter_view_get_column_info, + alter_view_modify, + alter_view_delete, + alter_view_find_matching_rows, NULL, NULL, NULL, @@ -250,7 +250,7 @@ static const LibmsiViewOPS alter_ops = NULL, }; -unsigned ALTER_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *name, column_info *colinfo, int hold ) +unsigned alter_view_create( LibmsiDatabase *db, LibmsiView **view, const WCHAR *name, column_info *colinfo, int hold ) { LibmsiAlterView *av; unsigned r; @@ -261,7 +261,7 @@ unsigned ALTER_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *n if( !av ) return ERROR_FUNCTION_FAILED; - r = TABLE_CreateView( db, name, &av->table ); + r = table_view_create( db, name, &av->table ); if (r != ERROR_SUCCESS) { msi_free( av ); diff --git a/libmsi/create.c b/libmsi/create.c index a42084a..66a20f5 100644 --- a/libmsi/create.c +++ b/libmsi/create.c @@ -47,7 +47,7 @@ typedef struct LibmsiCreateView column_info *col_info; } LibmsiCreateView; -static unsigned CREATE_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned create_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiCreateView *cv = (LibmsiCreateView*)view; @@ -56,7 +56,7 @@ static unsigned CREATE_fetch_int( LibmsiView *view, unsigned row, unsigned col, return ERROR_FUNCTION_FAILED; } -static unsigned CREATE_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned create_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiCreateView *cv = (LibmsiCreateView*)view; bool persist = (cv->bIsTemp) ? LIBMSI_CONDITION_FALSE : LIBMSI_CONDITION_TRUE; @@ -70,7 +70,7 @@ static unsigned CREATE_execute( LibmsiView *view, LibmsiRecord *record ) return msi_create_table( cv->db, cv->name, cv->col_info, persist ); } -static unsigned CREATE_close( LibmsiView *view ) +static unsigned create_view_close( LibmsiView *view ) { LibmsiCreateView *cv = (LibmsiCreateView*)view; @@ -79,7 +79,7 @@ static unsigned CREATE_close( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned CREATE_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned create_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiCreateView *cv = (LibmsiCreateView*)view; @@ -88,7 +88,7 @@ static unsigned CREATE_get_dimensions( LibmsiView *view, unsigned *rows, unsigne return ERROR_FUNCTION_FAILED; } -static unsigned CREATE_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned create_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiCreateView *cv = (LibmsiCreateView*)view; @@ -98,7 +98,7 @@ static unsigned CREATE_get_column_info( LibmsiView *view, unsigned n, const WCHA return ERROR_FUNCTION_FAILED; } -static unsigned CREATE_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned create_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) { LibmsiCreateView *cv = (LibmsiCreateView*)view; @@ -108,7 +108,7 @@ static unsigned CREATE_modify( LibmsiView *view, LibmsiModify eModifyMode, return ERROR_FUNCTION_FAILED; } -static unsigned CREATE_delete( LibmsiView *view ) +static unsigned create_view_delete( LibmsiView *view ) { LibmsiCreateView *cv = (LibmsiCreateView*)view; @@ -120,20 +120,20 @@ static unsigned CREATE_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static const LibmsiViewOPS create_ops = +static const LibmsiViewOps create_ops = { - CREATE_fetch_int, + create_view_fetch_int, NULL, NULL, NULL, NULL, NULL, - CREATE_execute, - CREATE_close, - CREATE_get_dimensions, - CREATE_get_column_info, - CREATE_modify, - CREATE_delete, + create_view_execute, + create_view_close, + create_view_get_dimensions, + create_view_get_column_info, + create_view_modify, + create_view_delete, NULL, NULL, NULL, @@ -156,7 +156,7 @@ static unsigned check_columns( const column_info *col_info ) return ERROR_SUCCESS; } -unsigned CREATE_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, +unsigned create_view_create( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, column_info *col_info, bool hold ) { LibmsiCreateView *cv = NULL; diff --git a/libmsi/database.c b/libmsi/database.c index eaeeb1f..824d263 100644 --- a/libmsi/database.c +++ b/libmsi/database.c @@ -242,7 +242,7 @@ void append_storage_to_db( LibmsiDatabase *db, IStorage *stg ) free_streams( db ); } -static VOID MSI_CloseDatabase( LibmsiObject *arg ) +static VOID _libmsi_database_destroy( LibmsiObject *arg ) { LibmsiDatabase *db = (LibmsiDatabase *) arg; @@ -296,7 +296,7 @@ static HRESULT db_initialize( IStorage *stg, const GUID *clsid ) return S_OK; } -unsigned MsiOpenDatabase(const char *szDBPath, const char *szPersist, LibmsiDatabase **pdb) +unsigned libmsi_database_open(const char *szDBPath, const char *szPersist, LibmsiDatabase **pdb) { IStorage *stg = NULL; HRESULT r; @@ -403,7 +403,7 @@ unsigned MsiOpenDatabase(const char *szDBPath, const char *szPersist, LibmsiData goto end; } - db = alloc_msiobject( sizeof (LibmsiDatabase), MSI_CloseDatabase ); + db = alloc_msiobject( sizeof (LibmsiDatabase), _libmsi_database_destroy ); if( !db ) { FIXME("Failed to allocate a handle\n"); @@ -734,12 +734,12 @@ static unsigned msi_add_table_to_db(LibmsiDatabase *db, WCHAR **columns, WCHAR * strcatW(create_sql, columns_sql); strcatW(create_sql, postlude); - r = MSI_DatabaseOpenQueryW( db, create_sql, &view ); + r = _libmsi_database_open_query( db, create_sql, &view ); if (r != ERROR_SUCCESS) goto done; - r = MSI_QueryExecute(view, NULL); - MsiQueryClose(view); + r = _libmsi_query_execute(view, NULL); + libmsi_query_close(view); msiobj_release(&view->hdr); done: @@ -782,7 +782,7 @@ static unsigned construct_record(unsigned num_columns, WCHAR **types, { unsigned i; - *rec = MsiCreateRecord(num_columns); + *rec = libmsi_record_create(num_columns); if (!*rec) return ERROR_OUTOFMEMORY; @@ -791,11 +791,11 @@ static unsigned construct_record(unsigned num_columns, WCHAR **types, switch (types[i][0]) { case 'L': case 'l': case 'S': case 's': - MSI_RecordSetStringW(*rec, i + 1, data[i]); + _libmsi_record_set_stringW(*rec, i + 1, data[i]); break; case 'I': case 'i': if (*data[i]) - MsiRecordSetInteger(*rec, i + 1, atoiW(data[i])); + libmsi_record_set_int(*rec, i + 1, atoiW(data[i])); break; case 'V': case 'v': if (*data[i]) @@ -805,7 +805,7 @@ static unsigned construct_record(unsigned num_columns, WCHAR **types, if (!file) return ERROR_FUNCTION_FAILED; - r = MSI_RecordSetStreamFromFile(*rec, i + 1, file); + r = _libmsi_record_load_stream_from_file(*rec, i + 1, file); msi_free (file); if (r != ERROR_SUCCESS) return ERROR_FUNCTION_FAILED; @@ -836,13 +836,13 @@ static unsigned msi_add_records_to_table(LibmsiDatabase *db, WCHAR **columns, WC 'F','R','O','M',' ','`','%','s','`',0 }; - r = MSI_OpenQuery(db, &view, select, labels[0]); + r = _libmsi_query_open(db, &view, select, labels[0]); if (r != ERROR_SUCCESS) return r; - while (MSI_QueryFetch(view, &rec) != ERROR_NO_MORE_ITEMS) + while (_libmsi_query_fetch(view, &rec) != ERROR_NO_MORE_ITEMS) { - r = MSI_QueryModify(view, LIBMSI_MODIFY_DELETE, rec); + r = _libmsi_query_modify(view, LIBMSI_MODIFY_DELETE, rec); msiobj_release(&rec->hdr); if (r != ERROR_SUCCESS) goto done; @@ -854,7 +854,7 @@ static unsigned msi_add_records_to_table(LibmsiDatabase *db, WCHAR **columns, WC if (r != ERROR_SUCCESS) goto done; - r = MSI_QueryModify(view, LIBMSI_MODIFY_INSERT, rec); + r = _libmsi_query_modify(view, LIBMSI_MODIFY_INSERT, rec); if (r != ERROR_SUCCESS) { msiobj_release(&rec->hdr); @@ -869,7 +869,7 @@ done: return r; } -static unsigned MSI_DatabaseImport(LibmsiDatabase *db, const char *folder, const char *file) +static unsigned _libmsi_database_import(LibmsiDatabase *db, const char *folder, const char *file) { unsigned r = ERROR_OUTOFMEMORY; unsigned len, i; @@ -958,7 +958,7 @@ static unsigned MSI_DatabaseImport(LibmsiDatabase *db, const char *folder, const } else { - if (!TABLE_Exists(db, labels[0])) + if (!table_view_exists(db, labels[0])) { r = msi_add_table_to_db( db, columns, types, labels, num_labels, num_columns ); if (r != ERROR_SUCCESS) @@ -986,7 +986,7 @@ done: return r; } -unsigned MsiDatabaseImport(LibmsiDatabase *db, const char *szFolder, const char *szFilename) +unsigned libmsi_database_import(LibmsiDatabase *db, const char *szFolder, const char *szFilename) { unsigned r; @@ -996,7 +996,7 @@ unsigned MsiDatabaseImport(LibmsiDatabase *db, const char *szFolder, const char return ERROR_INVALID_HANDLE; msiobj_addref( &db->hdr ); - r = MSI_DatabaseImport( db, szFolder, szFilename ); + r = _libmsi_database_import( db, szFolder, szFilename ); msiobj_release( &db->hdr ); return r; } @@ -1013,11 +1013,11 @@ static unsigned msi_export_record( int fd, LibmsiRecord *row, unsigned start ) if ( !buffer ) return ERROR_OUTOFMEMORY; - count = MsiRecordGetFieldCount( row ); + count = libmsi_record_get_field_count( row ); for ( i=start; i<=count; i++ ) { sz = len; - r = MsiRecordGetString( row, i, buffer, &sz ); + r = libmsi_record_get_string( row, i, buffer, &sz ); if (r == ERROR_MORE_DATA) { char *p = msi_realloc( buffer, sz + 1 ); @@ -1027,7 +1027,7 @@ static unsigned msi_export_record( int fd, LibmsiRecord *row, unsigned start ) buffer = p; } sz = len; - r = MsiRecordGetString( row, i, buffer, &sz ); + r = libmsi_record_get_string( row, i, buffer, &sz ); if (r != ERROR_SUCCESS) break; @@ -1069,7 +1069,7 @@ static unsigned msi_export_forcecodepage( int fd, unsigned codepage ) return ERROR_SUCCESS; } -static unsigned MSI_DatabaseExport( LibmsiDatabase *db, const WCHAR *table, +static unsigned _libmsi_database_export( LibmsiDatabase *db, const WCHAR *table, int fd) { static const WCHAR query[] = { @@ -1089,11 +1089,11 @@ static unsigned MSI_DatabaseExport( LibmsiDatabase *db, const WCHAR *table, goto done; } - r = MSI_OpenQuery( db, &view, query, table ); + r = _libmsi_query_open( db, &view, query, table ); if (r == ERROR_SUCCESS) { /* write out row 1, the column names */ - r = MSI_QueryGetColumnInfo(view, LIBMSI_COL_INFO_NAMES, &rec); + r = _libmsi_query_get_column_info(view, LIBMSI_COL_INFO_NAMES, &rec); if (r == ERROR_SUCCESS) { msi_export_record( fd, rec, 1 ); @@ -1101,7 +1101,7 @@ static unsigned MSI_DatabaseExport( LibmsiDatabase *db, const WCHAR *table, } /* write out row 2, the column types */ - r = MSI_QueryGetColumnInfo(view, LIBMSI_COL_INFO_TYPES, &rec); + r = _libmsi_query_get_column_info(view, LIBMSI_COL_INFO_TYPES, &rec); if (r == ERROR_SUCCESS) { msi_export_record( fd, rec, 1 ); @@ -1109,16 +1109,16 @@ static unsigned MSI_DatabaseExport( LibmsiDatabase *db, const WCHAR *table, } /* write out row 3, the table name + keys */ - r = MSI_DatabaseGetPrimaryKeys( db, table, &rec ); + r = _libmsi_database_get_primary_keys( db, table, &rec ); if (r == ERROR_SUCCESS) { - MSI_RecordSetStringW( rec, 0, table ); + _libmsi_record_set_stringW( rec, 0, table ); msi_export_record( fd, rec, 0 ); msiobj_release( &rec->hdr ); } /* write out row 4 onwards, the data */ - r = MSI_IterateRecords( view, 0, msi_export_row, (void *)(intptr_t) fd ); + r = _libmsi_query_iterate_records( view, 0, msi_export_row, (void *)(intptr_t) fd ); msiobj_release( &view->hdr ); } @@ -1141,7 +1141,7 @@ done: * * row4 : data <tab> data <tab> data <tab> ... data <cr> <lf> */ -unsigned MsiDatabaseExport( LibmsiDatabase *db, const char *szTable, +unsigned libmsi_database_export( LibmsiDatabase *db, const char *szTable, int fd ) { WCHAR *path = NULL; @@ -1162,7 +1162,7 @@ unsigned MsiDatabaseExport( LibmsiDatabase *db, const char *szTable, return ERROR_INVALID_HANDLE; msiobj_addref ( &db->hdr ); - r = MSI_DatabaseExport( db, table, fd ); + r = _libmsi_database_export( db, table, fd ); msiobj_release( &db->hdr ); end: @@ -1220,21 +1220,21 @@ static unsigned merge_verify_colnames(LibmsiQuery *dbview, LibmsiQuery *mergevie LibmsiRecord *dbrec, *mergerec; unsigned r, i, count; - r = MSI_QueryGetColumnInfo(dbview, LIBMSI_COL_INFO_NAMES, &dbrec); + r = _libmsi_query_get_column_info(dbview, LIBMSI_COL_INFO_NAMES, &dbrec); if (r != ERROR_SUCCESS) return r; - r = MSI_QueryGetColumnInfo(mergeview, LIBMSI_COL_INFO_NAMES, &mergerec); + r = _libmsi_query_get_column_info(mergeview, LIBMSI_COL_INFO_NAMES, &mergerec); if (r != ERROR_SUCCESS) return r; - count = MsiRecordGetFieldCount(dbrec); + count = libmsi_record_get_field_count(dbrec); for (i = 1; i <= count; i++) { - if (!MSI_RecordGetStringRaw(mergerec, i)) + if (!_libmsi_record_get_string_raw(mergerec, i)) break; - if (strcmpW( MSI_RecordGetStringRaw( dbrec, i ), MSI_RecordGetStringRaw( mergerec, i ) )) + if (strcmpW( _libmsi_record_get_string_raw( dbrec, i ), _libmsi_record_get_string_raw( mergerec, i ) )) { r = ERROR_DATATYPE_MISMATCH; goto done; @@ -1245,22 +1245,22 @@ static unsigned merge_verify_colnames(LibmsiQuery *dbview, LibmsiQuery *mergevie msiobj_release(&mergerec->hdr); dbrec = mergerec = NULL; - r = MSI_QueryGetColumnInfo(dbview, LIBMSI_COL_INFO_TYPES, &dbrec); + r = _libmsi_query_get_column_info(dbview, LIBMSI_COL_INFO_TYPES, &dbrec); if (r != ERROR_SUCCESS) return r; - r = MSI_QueryGetColumnInfo(mergeview, LIBMSI_COL_INFO_TYPES, &mergerec); + r = _libmsi_query_get_column_info(mergeview, LIBMSI_COL_INFO_TYPES, &mergerec); if (r != ERROR_SUCCESS) return r; - count = MsiRecordGetFieldCount(dbrec); + count = libmsi_record_get_field_count(dbrec); for (i = 1; i <= count; i++) { - if (!MSI_RecordGetStringRaw(mergerec, i)) + if (!_libmsi_record_get_string_raw(mergerec, i)) break; - if (!merge_type_match(MSI_RecordGetStringRaw(dbrec, i), - MSI_RecordGetStringRaw(mergerec, i))) + if (!merge_type_match(_libmsi_record_get_string_raw(dbrec, i), + _libmsi_record_get_string_raw(mergerec, i))) { r = ERROR_DATATYPE_MISMATCH; break; @@ -1280,16 +1280,16 @@ static unsigned merge_verify_primary_keys(LibmsiDatabase *db, LibmsiDatabase *me LibmsiRecord *dbrec, *mergerec = NULL; unsigned r, i, count; - r = MSI_DatabaseGetPrimaryKeys(db, table, &dbrec); + r = _libmsi_database_get_primary_keys(db, table, &dbrec); if (r != ERROR_SUCCESS) return r; - r = MSI_DatabaseGetPrimaryKeys(mergedb, table, &mergerec); + r = _libmsi_database_get_primary_keys(mergedb, table, &mergerec); if (r != ERROR_SUCCESS) goto done; - count = MsiRecordGetFieldCount(dbrec); - if (count != MsiRecordGetFieldCount(mergerec)) + count = libmsi_record_get_field_count(dbrec); + if (count != libmsi_record_get_field_count(mergerec)) { r = ERROR_DATATYPE_MISMATCH; goto done; @@ -1297,7 +1297,7 @@ static unsigned merge_verify_primary_keys(LibmsiDatabase *db, LibmsiDatabase *me for (i = 1; i <= count; i++) { - if (strcmpW( MSI_RecordGetStringRaw( dbrec, i ), MSI_RecordGetStringRaw( mergerec, i ) )) + if (strcmpW( _libmsi_record_get_string_raw( dbrec, i ), _libmsi_record_get_string_raw( mergerec, i ) )) { r = ERROR_DATATYPE_MISMATCH; goto done; @@ -1319,7 +1319,7 @@ static WCHAR *get_key_value(LibmsiQuery *view, const WCHAR *key, LibmsiRecord *r unsigned r, i = 0, sz = 0; int cmp; - r = MSI_QueryGetColumnInfo(view, LIBMSI_COL_INFO_NAMES, &colnames); + r = _libmsi_query_get_column_info(view, LIBMSI_COL_INFO_NAMES, &colnames); if (r != ERROR_SUCCESS) return NULL; @@ -1332,12 +1332,12 @@ static WCHAR *get_key_value(LibmsiQuery *view, const WCHAR *key, LibmsiRecord *r msiobj_release(&colnames->hdr); - r = MSI_RecordGetStringW(rec, i, NULL, &sz); + r = _libmsi_record_get_stringW(rec, i, NULL, &sz); if (r != ERROR_SUCCESS) return NULL; sz++; - if (MSI_RecordGetStringRaw(rec, i)) /* check record field is a string */ + if (_libmsi_record_get_string_raw(rec, i)) /* check record field is a string */ { /* quote string record fields */ const WCHAR szQuote[] = {'\'', 0}; @@ -1347,7 +1347,7 @@ static WCHAR *get_key_value(LibmsiQuery *view, const WCHAR *key, LibmsiRecord *r return NULL; strcpyW(val, szQuote); - r = MSI_RecordGetStringW(rec, i, val+1, &sz); + r = _libmsi_record_get_stringW(rec, i, val+1, &sz); strcpyW(val+1+sz, szQuote); } else @@ -1357,7 +1357,7 @@ static WCHAR *get_key_value(LibmsiQuery *view, const WCHAR *key, LibmsiRecord *r if (!val) return NULL; - r = MSI_RecordGetStringW(rec, i, val, &sz); + r = _libmsi_record_get_stringW(rec, i, val, &sz); } if (r != ERROR_SUCCESS) @@ -1390,7 +1390,7 @@ static WCHAR *create_diff_row_query(LibmsiDatabase *merge, LibmsiQuery *view, 'F','R','O','M',' ','`','%','s','`',' ', 'W','H','E','R','E',' ','%','s',0}; - r = MSI_DatabaseGetPrimaryKeys(merge, table, &keys); + r = _libmsi_database_get_primary_keys(merge, table, &keys); if (r != ERROR_SUCCESS) return NULL; @@ -1399,10 +1399,10 @@ static WCHAR *create_diff_row_query(LibmsiDatabase *merge, LibmsiQuery *view, goto done; size = 1; - count = MsiRecordGetFieldCount(keys); + count = libmsi_record_get_field_count(keys); for (i = 1; i <= count; i++) { - key = MSI_RecordGetStringRaw(keys, i); + key = _libmsi_record_get_string_raw(keys, i); val = get_key_value(view, key, rec); if (i == count) @@ -1446,22 +1446,22 @@ static unsigned merge_diff_row(LibmsiRecord *rec, void *param) WCHAR *query = NULL; unsigned r = ERROR_SUCCESS; - if (TABLE_Exists(data->db, table->name)) + if (table_view_exists(data->db, table->name)) { query = create_diff_row_query(data->merge, data->curview, table->name, rec); if (!query) return ERROR_OUTOFMEMORY; - r = MSI_DatabaseOpenQueryW(data->db, query, &dbview); + r = _libmsi_database_open_query(data->db, query, &dbview); if (r != ERROR_SUCCESS) goto done; - r = MSI_QueryExecute(dbview, NULL); + r = _libmsi_query_execute(dbview, NULL); if (r != ERROR_SUCCESS) goto done; - r = MSI_QueryFetch(dbview, &row); - if (r == ERROR_SUCCESS && !MSI_RecordsAreEqual(rec, row)) + r = _libmsi_query_fetch(dbview, &row); + if (r == ERROR_SUCCESS && !_libmsi_record_compare(rec, row)) { table->numconflicts++; goto done; @@ -1479,7 +1479,7 @@ static unsigned merge_diff_row(LibmsiRecord *rec, void *param) goto done; } - mergerow->data = MSI_CloneRecord(rec); + mergerow->data = _libmsi_record_clone(rec); if (!mergerow->data) { r = ERROR_OUTOFMEMORY; @@ -1501,11 +1501,11 @@ static unsigned msi_get_table_labels(LibmsiDatabase *db, const WCHAR *table, WCH unsigned r, i, count; LibmsiRecord *prec = NULL; - r = MSI_DatabaseGetPrimaryKeys(db, table, &prec); + r = _libmsi_database_get_primary_keys(db, table, &prec); if (r != ERROR_SUCCESS) return r; - count = MsiRecordGetFieldCount(prec); + count = libmsi_record_get_field_count(prec); *numlabels = count + 1; *labels = msi_alloc((*numlabels)*sizeof(WCHAR *)); if (!*labels) @@ -1517,7 +1517,7 @@ static unsigned msi_get_table_labels(LibmsiDatabase *db, const WCHAR *table, WCH (*labels)[0] = strdupW(table); for (i=1; i<=count; i++ ) { - (*labels)[i] = strdupW(MSI_RecordGetStringRaw(prec, i)); + (*labels)[i] = strdupW(_libmsi_record_get_string_raw(prec, i)); } end: @@ -1530,11 +1530,11 @@ static unsigned msi_get_query_columns(LibmsiQuery *query, WCHAR ***columns, unsi unsigned r, i, count; LibmsiRecord *prec = NULL; - r = MSI_QueryGetColumnInfo(query, LIBMSI_COL_INFO_NAMES, &prec); + r = _libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &prec); if (r != ERROR_SUCCESS) return r; - count = MsiRecordGetFieldCount(prec); + count = libmsi_record_get_field_count(prec); *columns = msi_alloc(count*sizeof(WCHAR *)); if (!*columns) { @@ -1544,7 +1544,7 @@ static unsigned msi_get_query_columns(LibmsiQuery *query, WCHAR ***columns, unsi for (i=1; i<=count; i++ ) { - (*columns)[i-1] = strdupW(MSI_RecordGetStringRaw(prec, i)); + (*columns)[i-1] = strdupW(_libmsi_record_get_string_raw(prec, i)); } *numcolumns = count; @@ -1559,11 +1559,11 @@ static unsigned msi_get_query_types(LibmsiQuery *query, WCHAR ***types, unsigned unsigned r, i, count; LibmsiRecord *prec = NULL; - r = MSI_QueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &prec); + r = _libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &prec); if (r != ERROR_SUCCESS) return r; - count = MsiRecordGetFieldCount(prec); + count = libmsi_record_get_field_count(prec); *types = msi_alloc(count*sizeof(WCHAR *)); if (!*types) { @@ -1574,7 +1574,7 @@ static unsigned msi_get_query_types(LibmsiQuery *query, WCHAR ***types, unsigned *numtypes = count; for (i=1; i<=count; i++ ) { - (*types)[i-1] = strdupW(MSI_RecordGetStringRaw(prec, i)); + (*types)[i-1] = strdupW(_libmsi_record_get_string_raw(prec, i)); } end: @@ -1650,7 +1650,7 @@ static unsigned msi_get_merge_table (LibmsiDatabase *db, const WCHAR *name, MERG if (r != ERROR_SUCCESS) goto err; - r = MSI_OpenQuery(db, &mergeview, query, name); + r = _libmsi_query_open(db, &mergeview, query, name); if (r != ERROR_SUCCESS) goto err; @@ -1690,15 +1690,15 @@ static unsigned merge_diff_tables(LibmsiRecord *rec, void *param) static const WCHAR query[] = {'S','E','L','E','C','T',' ','*',' ', 'F','R','O','M',' ','`','%','s','`',0}; - name = MSI_RecordGetStringRaw(rec, 1); + name = _libmsi_record_get_string_raw(rec, 1); - r = MSI_OpenQuery(data->merge, &mergeview, query, name); + r = _libmsi_query_open(data->merge, &mergeview, query, name); if (r != ERROR_SUCCESS) goto done; - if (TABLE_Exists(data->db, name)) + if (table_view_exists(data->db, name)) { - r = MSI_OpenQuery(data->db, &dbview, query, name); + r = _libmsi_query_open(data->db, &dbview, query, name); if (r != ERROR_SUCCESS) goto done; @@ -1717,7 +1717,7 @@ static unsigned merge_diff_tables(LibmsiRecord *rec, void *param) data->curtable = table; data->curview = mergeview; - r = MSI_IterateRecords(mergeview, NULL, merge_diff_row, data); + r = _libmsi_query_iterate_records(mergeview, NULL, merge_diff_row, data); if (r != ERROR_SUCCESS) { free_merge_table(table); @@ -1742,14 +1742,14 @@ static unsigned gather_merge_data(LibmsiDatabase *db, LibmsiDatabase *merge, MERGEDATA data; unsigned r; - r = MSI_DatabaseOpenQueryW(merge, query, &view); + r = _libmsi_database_open_query(merge, query, &view); if (r != ERROR_SUCCESS) return r; data.db = db; data.merge = merge; data.tabledata = tabledata; - r = MSI_IterateRecords(view, NULL, merge_diff_tables, &data); + r = _libmsi_query_iterate_records(view, NULL, merge_diff_tables, &data); msiobj_release(&view->hdr); return r; } @@ -1760,7 +1760,7 @@ static unsigned merge_table(LibmsiDatabase *db, MERGETABLE *table) MERGEROW *row; LibmsiView *tv; - if (!TABLE_Exists(db, table->name)) + if (!table_view_exists(db, table->name)) { r = msi_add_table_to_db(db, table->columns, table->types, table->labels, table->numlabels, table->numcolumns); @@ -1770,7 +1770,7 @@ static unsigned merge_table(LibmsiDatabase *db, MERGETABLE *table) LIST_FOR_EACH_ENTRY(row, &table->rows, MERGEROW, entry) { - r = TABLE_CreateView(db, table->name, &tv); + r = table_view_create(db, table->name, &tv); if (r != ERROR_SUCCESS) return r; @@ -1805,28 +1805,28 @@ static unsigned update_merge_errors(LibmsiDatabase *db, const WCHAR *error, 'C','o','n','f','l','i','c','t','s','`',')',' ','V','A','L','U','E','S', ' ','(','\'','%','s','\'',',',' ','%','d',')',0}; - if (!TABLE_Exists(db, error)) + if (!table_view_exists(db, error)) { - r = MSI_OpenQuery(db, &view, create, error); + r = _libmsi_query_open(db, &view, create, error); if (r != ERROR_SUCCESS) return r; - r = MSI_QueryExecute(view, NULL); + r = _libmsi_query_execute(view, NULL); msiobj_release(&view->hdr); if (r != ERROR_SUCCESS) return r; } - r = MSI_OpenQuery(db, &view, insert, error, table, numconflicts); + r = _libmsi_query_open(db, &view, insert, error, table, numconflicts); if (r != ERROR_SUCCESS) return r; - r = MSI_QueryExecute(view, NULL); + r = _libmsi_query_execute(view, NULL); msiobj_release(&view->hdr); return r; } -unsigned MsiDatabaseMerge(LibmsiDatabase *db, LibmsiDatabase *merge, +unsigned libmsi_database_merge(LibmsiDatabase *db, LibmsiDatabase *merge, const char *szTableName) { struct list tabledata = LIST_INIT(tabledata); @@ -1888,7 +1888,7 @@ done: return r; } -LibmsiDBState MsiGetDatabaseState( LibmsiDatabase *db ) +LibmsiDBState libmsi_database_get_state( LibmsiDatabase *db ) { LibmsiDBState ret = LIBMSI_DB_STATE_READ; diff --git a/libmsi/delete.c b/libmsi/delete.c index 47845b6..5bb1e29 100644 --- a/libmsi/delete.c +++ b/libmsi/delete.c @@ -53,7 +53,7 @@ typedef struct LibmsiDeleteView LibmsiView *table; } LibmsiDeleteView; -static unsigned DELETE_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned delete_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; @@ -62,7 +62,7 @@ static unsigned DELETE_fetch_int( LibmsiView *view, unsigned row, unsigned col, return ERROR_FUNCTION_FAILED; } -static unsigned DELETE_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm) +static unsigned delete_view_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; @@ -71,7 +71,7 @@ static unsigned DELETE_fetch_stream( LibmsiView *view, unsigned row, unsigned co return ERROR_FUNCTION_FAILED; } -static unsigned DELETE_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned delete_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; unsigned r, i, rows = 0, cols = 0; @@ -98,7 +98,7 @@ static unsigned DELETE_execute( LibmsiView *view, LibmsiRecord *record ) return ERROR_SUCCESS; } -static unsigned DELETE_close( LibmsiView *view ) +static unsigned delete_view_close( LibmsiView *view ) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; @@ -110,7 +110,7 @@ static unsigned DELETE_close( LibmsiView *view ) return dv->table->ops->close( dv->table ); } -static unsigned DELETE_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned delete_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; @@ -124,7 +124,7 @@ static unsigned DELETE_get_dimensions( LibmsiView *view, unsigned *rows, unsigne return dv->table->ops->get_dimensions( dv->table, NULL, cols ); } -static unsigned DELETE_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned delete_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; @@ -138,7 +138,7 @@ static unsigned DELETE_get_column_info( LibmsiView *view, unsigned n, const WCHA type, temporary, table_name); } -static unsigned DELETE_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned delete_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row ) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; @@ -148,7 +148,7 @@ static unsigned DELETE_modify( LibmsiView *view, LibmsiModify eModifyMode, return ERROR_FUNCTION_FAILED; } -static unsigned DELETE_delete( LibmsiView *view ) +static unsigned delete_view_delete( LibmsiView *view ) { LibmsiDeleteView *dv = (LibmsiDeleteView*)view; @@ -162,7 +162,7 @@ static unsigned DELETE_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned DELETE_find_matching_rows( LibmsiView *view, unsigned col, +static unsigned delete_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { TRACE("%p, %d, %u, %p\n", view, col, val, *handle); @@ -171,21 +171,21 @@ static unsigned DELETE_find_matching_rows( LibmsiView *view, unsigned col, } -static const LibmsiViewOPS delete_ops = +static const LibmsiViewOps delete_ops = { - DELETE_fetch_int, - DELETE_fetch_stream, + delete_view_fetch_int, + delete_view_fetch_stream, NULL, NULL, NULL, NULL, - DELETE_execute, - DELETE_close, - DELETE_get_dimensions, - DELETE_get_column_info, - DELETE_modify, - DELETE_delete, - DELETE_find_matching_rows, + delete_view_execute, + delete_view_close, + delete_view_get_dimensions, + delete_view_get_column_info, + delete_view_modify, + delete_view_delete, + delete_view_find_matching_rows, NULL, NULL, NULL, @@ -194,7 +194,7 @@ static const LibmsiViewOPS delete_ops = NULL, }; -unsigned DELETE_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ) +unsigned delete_view_create( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ) { LibmsiDeleteView *dv = NULL; diff --git a/libmsi/distinct.c b/libmsi/distinct.c index b8d71e4..b0cbf44 100644 --- a/libmsi/distinct.c +++ b/libmsi/distinct.c @@ -88,7 +88,7 @@ static void distinct_free( LibmsiDistinctSet *x ) } } -static unsigned DISTINCT_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned distinct_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; @@ -105,7 +105,7 @@ static unsigned DISTINCT_fetch_int( LibmsiView *view, unsigned row, unsigned col return dv->table->ops->fetch_int( dv->table, row, col, val ); } -static unsigned DISTINCT_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned distinct_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; unsigned r, i, j, r_count, c_count; @@ -167,7 +167,7 @@ static unsigned DISTINCT_execute( LibmsiView *view, LibmsiRecord *record ) return ERROR_SUCCESS; } -static unsigned DISTINCT_close( LibmsiView *view ) +static unsigned distinct_view_close( LibmsiView *view ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; @@ -183,7 +183,7 @@ static unsigned DISTINCT_close( LibmsiView *view ) return dv->table->ops->close( dv->table ); } -static unsigned DISTINCT_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned distinct_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; @@ -202,7 +202,7 @@ static unsigned DISTINCT_get_dimensions( LibmsiView *view, unsigned *rows, unsig return dv->table->ops->get_dimensions( dv->table, NULL, cols ); } -static unsigned DISTINCT_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned distinct_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; @@ -216,7 +216,7 @@ static unsigned DISTINCT_get_column_info( LibmsiView *view, unsigned n, const WC type, temporary, table_name ); } -static unsigned DISTINCT_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned distinct_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; @@ -229,7 +229,7 @@ static unsigned DISTINCT_modify( LibmsiView *view, LibmsiModify eModifyMode, return dv->table->ops->modify( dv->table, eModifyMode, rec, row ); } -static unsigned DISTINCT_delete( LibmsiView *view ) +static unsigned distinct_view_delete( LibmsiView *view ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; @@ -245,7 +245,7 @@ static unsigned DISTINCT_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned DISTINCT_find_matching_rows( LibmsiView *view, unsigned col, +static unsigned distinct_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { LibmsiDistinctView *dv = (LibmsiDistinctView*)view; @@ -266,21 +266,21 @@ static unsigned DISTINCT_find_matching_rows( LibmsiView *view, unsigned col, return r; } -static const LibmsiViewOPS distinct_ops = +static const LibmsiViewOps distinct_ops = { - DISTINCT_fetch_int, + distinct_view_fetch_int, NULL, NULL, NULL, NULL, NULL, - DISTINCT_execute, - DISTINCT_close, - DISTINCT_get_dimensions, - DISTINCT_get_column_info, - DISTINCT_modify, - DISTINCT_delete, - DISTINCT_find_matching_rows, + distinct_view_execute, + distinct_view_close, + distinct_view_get_dimensions, + distinct_view_get_column_info, + distinct_view_modify, + distinct_view_delete, + distinct_view_find_matching_rows, NULL, NULL, NULL, @@ -289,7 +289,7 @@ static const LibmsiViewOPS distinct_ops = NULL, }; -unsigned DISTINCT_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ) +unsigned distinct_view_create( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ) { LibmsiDistinctView *dv = NULL; unsigned count = 0, r; diff --git a/libmsi/drop.c b/libmsi/drop.c index 15c5454..59a057d 100644 --- a/libmsi/drop.c +++ b/libmsi/drop.c @@ -41,7 +41,7 @@ typedef struct LibmsiDropView int hold; } LibmsiDropView; -static unsigned DROP_execute(LibmsiView *view, LibmsiRecord *record) +static unsigned drop_view_execute(LibmsiView *view, LibmsiRecord *record) { LibmsiDropView *dv = (LibmsiDropView*)view; unsigned r; @@ -58,7 +58,7 @@ static unsigned DROP_execute(LibmsiView *view, LibmsiRecord *record) return dv->table->ops->drop(dv->table); } -static unsigned DROP_close(LibmsiView *view) +static unsigned drop_view_close(LibmsiView *view) { LibmsiDropView *dv = (LibmsiDropView*)view; @@ -67,7 +67,7 @@ static unsigned DROP_close(LibmsiView *view) return ERROR_SUCCESS; } -static unsigned DROP_get_dimensions(LibmsiView *view, unsigned *rows, unsigned *cols) +static unsigned drop_view_get_dimensions(LibmsiView *view, unsigned *rows, unsigned *cols) { LibmsiDropView *dv = (LibmsiDropView*)view; @@ -76,7 +76,7 @@ static unsigned DROP_get_dimensions(LibmsiView *view, unsigned *rows, unsigned * return ERROR_FUNCTION_FAILED; } -static unsigned DROP_delete( LibmsiView *view ) +static unsigned drop_view_delete( LibmsiView *view ) { LibmsiDropView *dv = (LibmsiDropView*)view; @@ -90,7 +90,7 @@ static unsigned DROP_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static const LibmsiViewOPS drop_ops = +static const LibmsiViewOps drop_ops = { NULL, NULL, @@ -98,12 +98,12 @@ static const LibmsiViewOPS drop_ops = NULL, NULL, NULL, - DROP_execute, - DROP_close, - DROP_get_dimensions, + drop_view_execute, + drop_view_close, + drop_view_get_dimensions, NULL, NULL, - DROP_delete, + drop_view_delete, NULL, NULL, NULL, @@ -113,7 +113,7 @@ static const LibmsiViewOPS drop_ops = NULL, }; -unsigned DROP_CreateView(LibmsiDatabase *db, LibmsiView **view, const WCHAR *name) +unsigned drop_view_create(LibmsiDatabase *db, LibmsiView **view, const WCHAR *name) { LibmsiDropView *dv; unsigned r; @@ -124,7 +124,7 @@ unsigned DROP_CreateView(LibmsiDatabase *db, LibmsiView **view, const WCHAR *nam if(!dv) return ERROR_FUNCTION_FAILED; - r = TABLE_CreateView(db, name, &dv->table); + r = table_view_create(db, name, &dv->table); if (r != ERROR_SUCCESS) { msi_free( dv ); diff --git a/libmsi/handle.c b/libmsi/handle.c index b80ebdf..77cf782 100644 --- a/libmsi/handle.c +++ b/libmsi/handle.c @@ -78,9 +78,9 @@ int msiobj_release( LibmsiObject *obj ) } /*********************************************************** - * MsiCloseHandle [MSI.@] + * libmsi_unref [MSI.@] */ -unsigned MsiCloseHandle(void *obj) +unsigned libmsi_unref(void *obj) { TRACE("%x\n",obj); diff --git a/libmsi/insert.c b/libmsi/insert.c index 8ccb124..be1d13a 100644 --- a/libmsi/insert.c +++ b/libmsi/insert.c @@ -47,7 +47,7 @@ typedef struct LibmsiInsertView column_info *vals; } LibmsiInsertView; -static unsigned INSERT_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned insert_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiInsertView *iv = (LibmsiInsertView*)view; @@ -67,7 +67,7 @@ LibmsiRecord *msi_query_merge_record( unsigned fields, const column_info *vl, Li LibmsiRecord *merged; unsigned wildcard_count = 1, i; - merged = MsiCreateRecord( fields ); + merged = libmsi_record_create( fields ); for( i=1; i <= fields; i++ ) { if( !vl ) @@ -79,15 +79,15 @@ LibmsiRecord *msi_query_merge_record( unsigned fields, const column_info *vl, Li { case EXPR_SVAL: TRACE("field %d -> %s\n", i, debugstr_w(vl->val->u.sval)); - MSI_RecordSetStringW( merged, i, vl->val->u.sval ); + _libmsi_record_set_stringW( merged, i, vl->val->u.sval ); break; case EXPR_IVAL: - MsiRecordSetInteger( merged, i, vl->val->u.ival ); + libmsi_record_set_int( merged, i, vl->val->u.ival ); break; case EXPR_WILDCARD: if( !rec ) goto err; - MSI_RecordCopyField( rec, wildcard_count, merged, i ); + _libmsi_record_copy_field( rec, wildcard_count, merged, i ); wildcard_count++; break; default: @@ -136,7 +136,7 @@ static unsigned msi_arrange_record(LibmsiInsertView *iv, LibmsiRecord **values) if (r != ERROR_SUCCESS) return r; - val_count = MsiRecordGetFieldCount(*values); + val_count = libmsi_record_get_field_count(*values); /* check to see if the columns are arranged already * to avoid unnecessary copying @@ -144,7 +144,7 @@ static unsigned msi_arrange_record(LibmsiInsertView *iv, LibmsiRecord **values) if (col_count == val_count && msi_columns_in_order(iv, col_count)) return ERROR_SUCCESS; - padded = MsiCreateRecord(col_count); + padded = libmsi_record_create(col_count); if (!padded) return ERROR_OUTOFMEMORY; @@ -163,7 +163,7 @@ static unsigned msi_arrange_record(LibmsiInsertView *iv, LibmsiRecord **values) if (!strcmpW( a, b )) { - MSI_RecordCopyField(*values, colidx, padded, i); + _libmsi_record_copy_field(*values, colidx, padded, i); break; } } @@ -195,14 +195,14 @@ static bool row_has_null_primary_keys(LibmsiInsertView *iv, LibmsiRecord *row) if (!(type & MSITYPE_KEY)) continue; - if (MsiRecordIsNull(row, i)) + if (libmsi_record_is_null(row, i)) return true; } return false; } -static unsigned INSERT_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned insert_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiInsertView *iv = (LibmsiInsertView*)view; unsigned r, row = -1, col_count = 0; @@ -250,7 +250,7 @@ err: } -static unsigned INSERT_close( LibmsiView *view ) +static unsigned insert_view_close( LibmsiView *view ) { LibmsiInsertView *iv = (LibmsiInsertView*)view; LibmsiView *sv; @@ -264,7 +264,7 @@ static unsigned INSERT_close( LibmsiView *view ) return sv->ops->close( sv ); } -static unsigned INSERT_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned insert_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiInsertView *iv = (LibmsiInsertView*)view; LibmsiView *sv; @@ -278,7 +278,7 @@ static unsigned INSERT_get_dimensions( LibmsiView *view, unsigned *rows, unsigne return sv->ops->get_dimensions( sv, rows, cols ); } -static unsigned INSERT_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned insert_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiInsertView *iv = (LibmsiInsertView*)view; @@ -293,7 +293,7 @@ static unsigned INSERT_get_column_info( LibmsiView *view, unsigned n, const WCHA return sv->ops->get_column_info( sv, n, name, type, temporary, table_name ); } -static unsigned INSERT_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) +static unsigned insert_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) { LibmsiInsertView *iv = (LibmsiInsertView*)view; @@ -302,7 +302,7 @@ static unsigned INSERT_modify( LibmsiView *view, LibmsiModify eModifyMode, Libms return ERROR_FUNCTION_FAILED; } -static unsigned INSERT_delete( LibmsiView *view ) +static unsigned insert_view_delete( LibmsiView *view ) { LibmsiInsertView *iv = (LibmsiInsertView*)view; LibmsiView *sv; @@ -318,7 +318,7 @@ static unsigned INSERT_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned INSERT_find_matching_rows( LibmsiView *view, unsigned col, +static unsigned insert_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { TRACE("%p, %d, %u, %p\n", view, col, val, *handle); @@ -327,21 +327,21 @@ static unsigned INSERT_find_matching_rows( LibmsiView *view, unsigned col, } -static const LibmsiViewOPS insert_ops = +static const LibmsiViewOps insert_ops = { - INSERT_fetch_int, + insert_view_fetch_int, NULL, NULL, NULL, NULL, NULL, - INSERT_execute, - INSERT_close, - INSERT_get_dimensions, - INSERT_get_column_info, - INSERT_modify, - INSERT_delete, - INSERT_find_matching_rows, + insert_view_execute, + insert_view_close, + insert_view_get_dimensions, + insert_view_get_column_info, + insert_view_modify, + insert_view_delete, + insert_view_find_matching_rows, NULL, NULL, NULL, @@ -358,7 +358,7 @@ static unsigned count_column_info( const column_info *ci ) return n; } -unsigned INSERT_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, +unsigned insert_view_create( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, column_info *columns, column_info *values, bool temp ) { LibmsiInsertView *iv = NULL; @@ -371,11 +371,11 @@ unsigned INSERT_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR * if ( count_column_info( columns ) != count_column_info(values) ) return ERROR_BAD_QUERY_SYNTAX; - r = TABLE_CreateView( db, table, &tv ); + r = table_view_create( db, table, &tv ); if( r != ERROR_SUCCESS ) return r; - r = SELECT_CreateView( db, &sv, tv, columns ); + r = select_view_create( db, &sv, tv, columns ); if( r != ERROR_SUCCESS ) { if( tv ) diff --git a/libmsi/msipriv.h b/libmsi/msipriv.h index 84f78e9..2a131d8 100644 --- a/libmsi/msipriv.h +++ b/libmsi/msipriv.h @@ -113,7 +113,7 @@ typedef struct LibmsiField typedef struct LibmsiRecord { LibmsiObject hdr; - unsigned count; /* as passed to MsiCreateRecord */ + unsigned count; /* as passed to libmsi_record_create */ LibmsiField fields[1]; /* nb. array size is count+1 */ } LibmsiRecord; @@ -129,7 +129,7 @@ typedef struct _column_info typedef const struct LibmsiColumnHashEntry *MSIITERHANDLE; -typedef struct LibmsiViewOPS +typedef struct LibmsiViewOps { /* * fetch_int - reads one integer from {row,col} in the table @@ -251,12 +251,12 @@ typedef struct LibmsiViewOPS * drop - drops the table from the database */ unsigned (*drop)( LibmsiView *view ); -} LibmsiViewOPS; +} LibmsiViewOps; struct LibmsiView { LibmsiObject hdr; - const LibmsiViewOPS *ops; + const LibmsiViewOps *ops; LibmsiDBError error; const WCHAR *error_column; }; @@ -296,7 +296,7 @@ extern void msiobj_addref(LibmsiObject *); extern int msiobj_release(LibmsiObject *); extern void free_cached_tables( LibmsiDatabase *db ); -extern unsigned MSI_CommitTables( LibmsiDatabase *db ); +extern unsigned _libmsi_database_commit_tables( LibmsiDatabase *db ); /* string table functions */ @@ -306,8 +306,8 @@ enum StringPersistence StringNonPersistent = 1 }; -extern int msi_addstringW( string_table *st, const WCHAR *data, int len, uint16_t refcount, enum StringPersistence persistence ); -extern unsigned msi_string2idW( const string_table *st, const WCHAR *buffer, unsigned *id ); +extern int _libmsi_add_string( string_table *st, const WCHAR *data, int len, uint16_t refcount, enum StringPersistence persistence ); +extern unsigned _libmsi_id_from_stringW( const string_table *st, const WCHAR *buffer, unsigned *id ); extern VOID msi_destroy_stringtable( string_table *st ); extern const WCHAR *msi_string_lookup_id( const string_table *st, unsigned id ); extern HRESULT msi_init_string_table( IStorage *stg ); @@ -316,8 +316,8 @@ extern unsigned msi_save_string_table( const string_table *st, IStorage *storage extern unsigned msi_get_string_table_codepage( const string_table *st ); extern unsigned msi_set_string_table_codepage( string_table *st, unsigned codepage ); -extern bool TABLE_Exists( LibmsiDatabase *db, const WCHAR *name ); -extern LibmsiCondition MSI_DatabaseIsTablePersistent( LibmsiDatabase *db, const WCHAR *table ); +extern bool table_view_exists( LibmsiDatabase *db, const WCHAR *name ); +extern LibmsiCondition _libmsi_database_is_table_persistent( LibmsiDatabase *db, const WCHAR *table ); extern unsigned read_stream_data( IStorage *stg, const WCHAR *stname, bool table, uint8_t **pdata, unsigned *psz ); @@ -326,27 +326,27 @@ extern unsigned write_stream_data( IStorage *stg, const WCHAR *stname, /* transform functions */ extern unsigned msi_table_apply_transform( LibmsiDatabase *db, IStorage *stg ); -extern unsigned MSI_DatabaseApplyTransform( LibmsiDatabase *db, +extern unsigned _libmsi_database_apply_transform( LibmsiDatabase *db, const char *szTransformFile, int iErrorCond ); extern void append_storage_to_db( LibmsiDatabase *db, IStorage *stg ); /* record internals */ -extern void MSI_CloseRecord( LibmsiObject * ); -extern unsigned MSI_RecordSetIStream( LibmsiRecord *, unsigned, IStream *); -extern unsigned MSI_RecordGetIStream( const LibmsiRecord *, unsigned, IStream **); -extern const WCHAR *MSI_RecordGetStringRaw( const LibmsiRecord *, unsigned ); -extern unsigned MSI_RecordSetIntPtr( LibmsiRecord *, unsigned, intptr_t ); -extern unsigned MSI_RecordSetStringW( LibmsiRecord *, unsigned, const WCHAR *); -extern unsigned MSI_RecordGetStringW( const LibmsiRecord *, unsigned, WCHAR *, unsigned *); -extern intptr_t MSI_RecordGetIntPtr( const LibmsiRecord *, unsigned ); -extern unsigned MSI_RecordReadStream( const LibmsiRecord *, unsigned, char *, unsigned *); -extern unsigned MSI_RecordSetStream(LibmsiRecord *, unsigned, IStream *); -extern unsigned MSI_RecordStreamToFile( const LibmsiRecord *, unsigned, const WCHAR *); -extern unsigned MSI_RecordSetStreamFromFile( LibmsiRecord *, unsigned, const char *); -extern unsigned MSI_RecordCopyField( LibmsiRecord *, unsigned, LibmsiRecord *, unsigned ); -extern LibmsiRecord *MSI_CloneRecord( LibmsiRecord * ); -extern bool MSI_RecordsAreEqual( const LibmsiRecord *, const LibmsiRecord * ); -extern bool MSI_RecordsAreFieldsEqual(const LibmsiRecord *a, const LibmsiRecord *b, unsigned field); +extern void _libmsi_record_destroy( LibmsiObject * ); +extern unsigned _libmsi_record_set_IStream( LibmsiRecord *, unsigned, IStream *); +extern unsigned _libmsi_record_get_IStream( const LibmsiRecord *, unsigned, IStream **); +extern const WCHAR *_libmsi_record_get_string_raw( const LibmsiRecord *, unsigned ); +extern unsigned _libmsi_record_set_int_ptr( LibmsiRecord *, unsigned, intptr_t ); +extern unsigned _libmsi_record_set_stringW( LibmsiRecord *, unsigned, const WCHAR *); +extern unsigned _libmsi_record_get_stringW( const LibmsiRecord *, unsigned, WCHAR *, unsigned *); +extern intptr_t _libmsi_record_get_int_ptr( const LibmsiRecord *, unsigned ); +extern unsigned _libmsi_record_save_stream( const LibmsiRecord *, unsigned, char *, unsigned *); +extern unsigned _libmsi_record_load_stream(LibmsiRecord *, unsigned, IStream *); +extern unsigned _libmsi_record_save_stream_to_file( const LibmsiRecord *, unsigned, const WCHAR *); +extern unsigned _libmsi_record_load_stream_from_file( LibmsiRecord *, unsigned, const char *); +extern unsigned _libmsi_record_copy_field( LibmsiRecord *, unsigned, LibmsiRecord *, unsigned ); +extern LibmsiRecord *_libmsi_record_clone( LibmsiRecord * ); +extern bool _libmsi_record_compare( const LibmsiRecord *, const LibmsiRecord * ); +extern bool _libmsi_record_compare_fields(const LibmsiRecord *a, const LibmsiRecord *b, unsigned field); /* stream internals */ extern void enum_stream_names( IStorage *stg ); @@ -357,19 +357,19 @@ extern void decode_streamname(const WCHAR *in, WCHAR *out); extern unsigned msi_get_raw_stream( LibmsiDatabase *, const WCHAR *, IStream **); extern unsigned msi_clone_open_stream( LibmsiDatabase *, IStorage *, const WCHAR *, IStream ** ); void msi_destroy_stream( LibmsiDatabase *, const WCHAR * ); -extern unsigned MSI_DatabaseOpenQueryW(LibmsiDatabase *, const WCHAR *, LibmsiQuery **); -extern unsigned MSI_OpenQuery( LibmsiDatabase *, LibmsiQuery **, const WCHAR *, ... ); +extern unsigned _libmsi_database_open_query(LibmsiDatabase *, const WCHAR *, LibmsiQuery **); +extern unsigned _libmsi_query_open( LibmsiDatabase *, LibmsiQuery **, const WCHAR *, ... ); typedef unsigned (*record_func)( LibmsiRecord *, void *); -extern unsigned MSI_IterateRecords( LibmsiQuery *, unsigned *, record_func, void *); -extern LibmsiRecord *MSI_QueryGetRecord( LibmsiDatabase *db, const WCHAR *query, ... ); -extern unsigned MSI_DatabaseGetPrimaryKeys( LibmsiDatabase *, const WCHAR *, LibmsiRecord **); +extern unsigned _libmsi_query_iterate_records( LibmsiQuery *, unsigned *, record_func, void *); +extern LibmsiRecord *_libmsi_query_get_record( LibmsiDatabase *db, const WCHAR *query, ... ); +extern unsigned _libmsi_database_get_primary_keys( LibmsiDatabase *, const WCHAR *, LibmsiRecord **); /* view internals */ -extern unsigned MSI_QueryExecute( LibmsiQuery*, LibmsiRecord * ); -extern unsigned MSI_QueryFetch( LibmsiQuery*, LibmsiRecord ** ); -extern unsigned MSI_QueryGetColumnInfo(LibmsiQuery *, LibmsiColInfo, LibmsiRecord **); -extern unsigned MSI_QueryModify( LibmsiQuery *, LibmsiModify, LibmsiRecord * ); -extern unsigned VIEW_find_column( LibmsiView *, const WCHAR *, const WCHAR *, unsigned *); +extern unsigned _libmsi_query_execute( LibmsiQuery*, LibmsiRecord * ); +extern unsigned _libmsi_query_fetch( LibmsiQuery*, LibmsiRecord ** ); +extern unsigned _libmsi_query_get_column_info(LibmsiQuery *, LibmsiColInfo, LibmsiRecord **); +extern unsigned _libmsi_query_modify( LibmsiQuery *, LibmsiModify, LibmsiRecord * ); +extern unsigned _libmsi_view_find_column( LibmsiView *, const WCHAR *, const WCHAR *, unsigned *); extern unsigned msi_view_get_row(LibmsiDatabase *, LibmsiView *, unsigned, LibmsiRecord **); /* summary information */ diff --git a/libmsi/msiquery.c b/libmsi/msiquery.c index 3b23c0e..c1dfb27 100644 --- a/libmsi/msiquery.c +++ b/libmsi/msiquery.c @@ -39,7 +39,7 @@ #include "initguid.h" -static void MSI_CloseQuery( LibmsiObject *arg ) +static void _libmsi_query_destroy( LibmsiObject *arg ) { LibmsiQuery *query = (LibmsiQuery*) arg; struct list *ptr, *t; @@ -54,7 +54,7 @@ static void MSI_CloseQuery( LibmsiObject *arg ) } } -unsigned VIEW_find_column( LibmsiView *table, const WCHAR *name, const WCHAR *table_name, unsigned *n ) +unsigned _libmsi_view_find_column( LibmsiView *table, const WCHAR *name, const WCHAR *table_name, unsigned *n ) { const WCHAR *col_name; const WCHAR *haystack_table_name; @@ -84,7 +84,7 @@ unsigned VIEW_find_column( LibmsiView *table, const WCHAR *name, const WCHAR *ta return ERROR_INVALID_PARAMETER; } -unsigned MsiDatabaseOpenQuery(LibmsiDatabase *db, +unsigned libmsi_database_open_query(LibmsiDatabase *db, const char *szQuery, LibmsiQuery **pQuery) { unsigned r; @@ -105,14 +105,14 @@ unsigned MsiDatabaseOpenQuery(LibmsiDatabase *db, return ERROR_INVALID_HANDLE; msiobj_addref( &db->hdr); - r = MSI_DatabaseOpenQueryW( db, szwQuery, pQuery ); + r = _libmsi_database_open_query( db, szwQuery, pQuery ); msiobj_release( &db->hdr ); msi_free( szwQuery ); return r; } -unsigned MSI_DatabaseOpenQueryW(LibmsiDatabase *db, +unsigned _libmsi_database_open_query(LibmsiDatabase *db, const WCHAR *szQuery, LibmsiQuery **pView) { LibmsiQuery *query; @@ -124,7 +124,7 @@ unsigned MSI_DatabaseOpenQueryW(LibmsiDatabase *db, return ERROR_INVALID_PARAMETER; /* pre allocate a handle to hold a pointer to the view */ - query = alloc_msiobject( sizeof (LibmsiQuery), MSI_CloseQuery ); + query = alloc_msiobject( sizeof (LibmsiQuery), _libmsi_query_destroy ); if( !query ) return ERROR_FUNCTION_FAILED; @@ -132,7 +132,7 @@ unsigned MSI_DatabaseOpenQueryW(LibmsiDatabase *db, query->db = db; list_init( &query->mem ); - r = MSI_ParseSQL( db, szQuery, &query->view, &query->mem ); + r = _libmsi_parse_sql( db, szQuery, &query->view, &query->mem ); if( r == ERROR_SUCCESS ) { msiobj_addref( &query->hdr ); @@ -143,7 +143,7 @@ unsigned MSI_DatabaseOpenQueryW(LibmsiDatabase *db, return r; } -unsigned MSI_OpenQuery( LibmsiDatabase *db, LibmsiQuery **view, const WCHAR *fmt, ... ) +unsigned _libmsi_query_open( LibmsiDatabase *db, LibmsiQuery **view, const WCHAR *fmt, ... ) { unsigned r; int size = 100, res; @@ -163,18 +163,18 @@ unsigned MSI_OpenQuery( LibmsiDatabase *db, LibmsiQuery **view, const WCHAR *fmt msi_free( query ); } /* perform the query */ - r = MSI_DatabaseOpenQueryW(db, query, view); + r = _libmsi_database_open_query(db, query, view); msi_free(query); return r; } -unsigned MSI_IterateRecords( LibmsiQuery *view, unsigned *count, +unsigned _libmsi_query_iterate_records( LibmsiQuery *view, unsigned *count, record_func func, void *param ) { LibmsiRecord *rec = NULL; unsigned r, n = 0, max = 0; - r = MSI_QueryExecute( view, NULL ); + r = _libmsi_query_execute( view, NULL ); if( r != ERROR_SUCCESS ) return r; @@ -184,7 +184,7 @@ unsigned MSI_IterateRecords( LibmsiQuery *view, unsigned *count, /* iterate a query */ for( n = 0; (max == 0) || (n < max); n++ ) { - r = MSI_QueryFetch( view, &rec ); + r = _libmsi_query_fetch( view, &rec ); if( r != ERROR_SUCCESS ) break; if (func) @@ -194,7 +194,7 @@ unsigned MSI_IterateRecords( LibmsiQuery *view, unsigned *count, break; } - MsiQueryClose( view ); + libmsi_query_close( view ); if( count ) *count = n; @@ -206,7 +206,7 @@ unsigned MSI_IterateRecords( LibmsiQuery *view, unsigned *count, } /* return a single record from a query */ -LibmsiRecord *MSI_QueryGetRecord( LibmsiDatabase *db, const WCHAR *fmt, ... ) +LibmsiRecord *_libmsi_query_get_record( LibmsiDatabase *db, const WCHAR *fmt, ... ) { LibmsiRecord *rec = NULL; LibmsiQuery *view = NULL; @@ -228,14 +228,14 @@ LibmsiRecord *MSI_QueryGetRecord( LibmsiDatabase *db, const WCHAR *fmt, ... ) msi_free( query ); } /* perform the query */ - r = MSI_DatabaseOpenQueryW(db, query, &view); + r = _libmsi_database_open_query(db, query, &view); msi_free(query); if( r == ERROR_SUCCESS ) { - MSI_QueryExecute( view, NULL ); - MSI_QueryFetch( view, &rec ); - MsiQueryClose( view ); + _libmsi_query_execute( view, NULL ); + _libmsi_query_fetch( view, &rec ); + libmsi_query_close( view ); msiobj_release( &view->hdr ); } return rec; @@ -257,7 +257,7 @@ unsigned msi_view_get_row(LibmsiDatabase *db, LibmsiView *view, unsigned row, Li if (row >= row_count) return ERROR_NO_MORE_ITEMS; - *rec = MsiCreateRecord(col_count); + *rec = libmsi_record_create(col_count); if (!*rec) return ERROR_FUNCTION_FAILED; @@ -277,7 +277,7 @@ unsigned msi_view_get_row(LibmsiDatabase *db, LibmsiView *view, unsigned row, Li ret = view->ops->fetch_stream(view, row, i, &stm); if ((ret == ERROR_SUCCESS) && stm) { - MSI_RecordSetIStream(*rec, i, stm); + _libmsi_record_set_IStream(*rec, i, stm); IStream_Release(stm); } else @@ -305,21 +305,21 @@ unsigned msi_view_get_row(LibmsiDatabase *db, LibmsiView *view, unsigned row, Li const WCHAR *sval; sval = msi_string_lookup_id(db->strings, ival); - MSI_RecordSetStringW(*rec, i, sval); + _libmsi_record_set_stringW(*rec, i, sval); } else { if ((type & MSI_DATASIZEMASK) == 2) - MsiRecordSetInteger(*rec, i, ival - (1<<15)); + libmsi_record_set_int(*rec, i, ival - (1<<15)); else - MsiRecordSetInteger(*rec, i, ival - (1<<31)); + libmsi_record_set_int(*rec, i, ival - (1<<31)); } } return ERROR_SUCCESS; } -unsigned MSI_QueryFetch(LibmsiQuery *query, LibmsiRecord **prec) +unsigned _libmsi_query_fetch(LibmsiQuery *query, LibmsiRecord **prec) { LibmsiView *view; unsigned r; @@ -334,13 +334,13 @@ unsigned MSI_QueryFetch(LibmsiQuery *query, LibmsiRecord **prec) if (r == ERROR_SUCCESS) { query->row ++; - MSI_RecordSetIntPtr(*prec, 0, (intptr_t)query); + _libmsi_record_set_int_ptr(*prec, 0, (intptr_t)query); } return r; } -unsigned MsiQueryFetch(LibmsiQuery *query, LibmsiRecord **record) +unsigned libmsi_query_fetch(LibmsiQuery *query, LibmsiRecord **record) { unsigned ret; @@ -353,12 +353,12 @@ unsigned MsiQueryFetch(LibmsiQuery *query, LibmsiRecord **record) if( !query ) return ERROR_INVALID_HANDLE; msiobj_addref( &query->hdr); - ret = MSI_QueryFetch( query, record ); + ret = _libmsi_query_fetch( query, record ); msiobj_release( &query->hdr ); return ret; } -unsigned MsiQueryClose(LibmsiQuery *query) +unsigned libmsi_query_close(LibmsiQuery *query) { LibmsiView *view; unsigned ret; @@ -380,7 +380,7 @@ unsigned MsiQueryClose(LibmsiQuery *query) return ret; } -unsigned MSI_QueryExecute(LibmsiQuery *query, LibmsiRecord *rec ) +unsigned _libmsi_query_execute(LibmsiQuery *query, LibmsiRecord *rec ) { LibmsiView *view; @@ -396,7 +396,7 @@ unsigned MSI_QueryExecute(LibmsiQuery *query, LibmsiRecord *rec ) return view->ops->execute( view, rec ); } -unsigned MsiQueryExecute(LibmsiQuery *query, LibmsiRecord *rec) +unsigned libmsi_query_execute(LibmsiQuery *query, LibmsiRecord *rec) { unsigned ret; @@ -409,7 +409,7 @@ unsigned MsiQueryExecute(LibmsiQuery *query, LibmsiRecord *rec) if( rec ) msiobj_addref( &rec->hdr ); - ret = MSI_QueryExecute( query, rec ); + ret = _libmsi_query_execute( query, rec ); msiobj_release( &query->hdr ); if( rec ) @@ -452,10 +452,10 @@ static unsigned msi_set_record_type_string( LibmsiRecord *rec, unsigned field, TRACE("type %04x -> %s\n", type, debugstr_w(szType) ); - return MSI_RecordSetStringW( rec, field, szType ); + return _libmsi_record_set_stringW( rec, field, szType ); } -unsigned MSI_QueryGetColumnInfo( LibmsiQuery *query, LibmsiColInfo info, LibmsiRecord **prec ) +unsigned _libmsi_query_get_column_info( LibmsiQuery *query, LibmsiColInfo info, LibmsiRecord **prec ) { unsigned r = ERROR_FUNCTION_FAILED, i, count = 0, type; LibmsiRecord *rec; @@ -475,7 +475,7 @@ unsigned MSI_QueryGetColumnInfo( LibmsiQuery *query, LibmsiColInfo info, LibmsiR if( !count ) return ERROR_INVALID_PARAMETER; - rec = MsiCreateRecord( count ); + rec = libmsi_record_create( count ); if( !rec ) return ERROR_FUNCTION_FAILED; @@ -486,7 +486,7 @@ unsigned MSI_QueryGetColumnInfo( LibmsiQuery *query, LibmsiColInfo info, LibmsiR if( r != ERROR_SUCCESS ) continue; if (info == LIBMSI_COL_INFO_NAMES) - MSI_RecordSetStringW( rec, i+1, name ); + _libmsi_record_set_stringW( rec, i+1, name ); else msi_set_record_type_string( rec, i+1, type, temporary ); } @@ -494,7 +494,7 @@ unsigned MSI_QueryGetColumnInfo( LibmsiQuery *query, LibmsiColInfo info, LibmsiR return ERROR_SUCCESS; } -unsigned MsiQueryGetColumnInfo(LibmsiQuery *query, LibmsiColInfo info, LibmsiRecord **prec) +unsigned libmsi_query_get_column_info(LibmsiQuery *query, LibmsiColInfo info, LibmsiRecord **prec) { unsigned r; @@ -510,13 +510,13 @@ unsigned MsiQueryGetColumnInfo(LibmsiQuery *query, LibmsiColInfo info, LibmsiRec return ERROR_INVALID_HANDLE; msiobj_addref ( &query->hdr ); - r = MSI_QueryGetColumnInfo( query, info, prec ); + r = _libmsi_query_get_column_info( query, info, prec ); msiobj_release( &query->hdr ); return r; } -unsigned MSI_QueryModify( LibmsiQuery *query, LibmsiModify mode, LibmsiRecord *rec ) +unsigned _libmsi_query_modify( LibmsiQuery *query, LibmsiModify mode, LibmsiRecord *rec ) { LibmsiView *view = NULL; unsigned r; @@ -528,7 +528,7 @@ unsigned MSI_QueryModify( LibmsiQuery *query, LibmsiModify mode, LibmsiRecord *r if ( !view || !view->ops->modify) return ERROR_FUNCTION_FAILED; - if ( mode == LIBMSI_MODIFY_UPDATE && MSI_RecordGetIntPtr( rec, 0 ) != (intptr_t)query ) + if ( mode == LIBMSI_MODIFY_UPDATE && _libmsi_record_get_int_ptr( rec, 0 ) != (intptr_t)query ) return ERROR_FUNCTION_FAILED; r = view->ops->modify( view, mode, rec, query->row ); @@ -538,7 +538,7 @@ unsigned MSI_QueryModify( LibmsiQuery *query, LibmsiModify mode, LibmsiRecord *r return r; } -unsigned MsiQueryModify( LibmsiQuery *query, LibmsiModify eModifyMode, +unsigned libmsi_query_modify( LibmsiQuery *query, LibmsiModify eModifyMode, LibmsiRecord *rec) { unsigned r = ERROR_FUNCTION_FAILED; @@ -553,7 +553,7 @@ unsigned MsiQueryModify( LibmsiQuery *query, LibmsiModify eModifyMode, if (rec) msiobj_addref( &rec->hdr); - r = MSI_QueryModify( query, eModifyMode, rec ); + r = _libmsi_query_modify( query, eModifyMode, rec ); msiobj_release( &query->hdr ); if( rec ) @@ -562,7 +562,7 @@ unsigned MsiQueryModify( LibmsiQuery *query, LibmsiModify eModifyMode, return r; } -LibmsiDBError MsiQueryGetError( LibmsiQuery *query, char *buffer, unsigned *buflen ) +LibmsiDBError libmsi_query_get_error( LibmsiQuery *query, char *buffer, unsigned *buflen ) { const WCHAR *column; LibmsiDBError r; @@ -593,7 +593,7 @@ LibmsiDBError MsiQueryGetError( LibmsiQuery *query, char *buffer, unsigned *bufl return r; } -unsigned MSI_DatabaseApplyTransform( LibmsiDatabase *db, +unsigned _libmsi_database_apply_transform( LibmsiDatabase *db, const char *szTransformFile, int iErrorCond ) { HRESULT r; @@ -633,7 +633,7 @@ end: return ret; } -unsigned MsiDatabaseApplyTransform( LibmsiDatabase *db, +unsigned libmsi_database_apply_transform( LibmsiDatabase *db, const char *szTransformFile, int iErrorCond) { unsigned r; @@ -641,12 +641,12 @@ unsigned MsiDatabaseApplyTransform( LibmsiDatabase *db, msiobj_addref( &db->hdr ); if( !db ) return ERROR_INVALID_HANDLE; - r = MSI_DatabaseApplyTransform( db, szTransformFile, iErrorCond ); + r = _libmsi_database_apply_transform( db, szTransformFile, iErrorCond ); msiobj_release( &db->hdr ); return r; } -unsigned MsiDatabaseCommit( LibmsiDatabase *db ) +unsigned libmsi_database_commit( LibmsiDatabase *db ) { unsigned r; @@ -664,7 +664,7 @@ unsigned MsiDatabaseCommit( LibmsiDatabase *db ) /* FIXME: lock the database */ - r = MSI_CommitTables( db ); + r = _libmsi_database_commit_tables( db ); if (r != ERROR_SUCCESS) ERR("Failed to commit tables!\n"); /* FIXME: unlock the database */ @@ -693,7 +693,7 @@ static unsigned msi_primary_key_iterator( LibmsiRecord *rec, void *param ) const WCHAR *table; unsigned type; - type = MsiRecordGetInteger( rec, 4 ); + type = libmsi_record_get_integer( rec, 4 ); if( type & MSITYPE_KEY ) { info->n++; @@ -701,19 +701,19 @@ static unsigned msi_primary_key_iterator( LibmsiRecord *rec, void *param ) { if ( info->n == 1 ) { - table = MSI_RecordGetStringRaw( rec, 1 ); - MSI_RecordSetStringW( info->rec, 0, table); + table = _libmsi_record_get_string_raw( rec, 1 ); + _libmsi_record_set_stringW( info->rec, 0, table); } - name = MSI_RecordGetStringRaw( rec, 3 ); - MSI_RecordSetStringW( info->rec, info->n, name ); + name = _libmsi_record_get_string_raw( rec, 3 ); + _libmsi_record_set_stringW( info->rec, info->n, name ); } } return ERROR_SUCCESS; } -unsigned MSI_DatabaseGetPrimaryKeys( LibmsiDatabase *db, +unsigned _libmsi_database_get_primary_keys( LibmsiDatabase *db, const WCHAR *table, LibmsiRecord **prec ) { static const WCHAR sql[] = { @@ -725,25 +725,25 @@ unsigned MSI_DatabaseGetPrimaryKeys( LibmsiDatabase *db, LibmsiQuery *query = NULL; unsigned r; - if (!TABLE_Exists( db, table )) + if (!table_view_exists( db, table )) return ERROR_INVALID_TABLE; - r = MSI_OpenQuery( db, &query, sql, table ); + r = _libmsi_query_open( db, &query, sql, table ); if( r != ERROR_SUCCESS ) return r; /* count the number of primary key records */ info.n = 0; info.rec = 0; - r = MSI_IterateRecords( query, 0, msi_primary_key_iterator, &info ); + r = _libmsi_query_iterate_records( query, 0, msi_primary_key_iterator, &info ); if( r == ERROR_SUCCESS ) { TRACE("Found %d primary keys\n", info.n ); /* allocate a record and fill in the names of the tables */ - info.rec = MsiCreateRecord( info.n ); + info.rec = libmsi_record_create( info.n ); info.n = 0; - r = MSI_IterateRecords( query, 0, msi_primary_key_iterator, &info ); + r = _libmsi_query_iterate_records( query, 0, msi_primary_key_iterator, &info ); if( r == ERROR_SUCCESS ) *prec = info.rec; else @@ -754,7 +754,7 @@ unsigned MSI_DatabaseGetPrimaryKeys( LibmsiDatabase *db, return r; } -unsigned MsiDatabaseGetPrimaryKeys(LibmsiDatabase *db, +unsigned libmsi_database_get_primary_keys(LibmsiDatabase *db, const char *table, LibmsiRecord **prec) { WCHAR *szwTable = NULL; @@ -773,14 +773,14 @@ unsigned MsiDatabaseGetPrimaryKeys(LibmsiDatabase *db, return ERROR_INVALID_HANDLE; msiobj_addref( &db->hdr ); - r = MSI_DatabaseGetPrimaryKeys( db, szwTable, prec ); + r = _libmsi_database_get_primary_keys( db, szwTable, prec ); msiobj_release( &db->hdr ); msi_free( szwTable ); return r; } -LibmsiCondition MsiDatabaseIsTablePersistent( +LibmsiCondition libmsi_database_is_table_persistent( LibmsiDatabase *db, const char *szTableName) { WCHAR *szwTableName = NULL; @@ -799,7 +799,7 @@ LibmsiCondition MsiDatabaseIsTablePersistent( if( !db ) return LIBMSI_CONDITION_ERROR; - r = MSI_DatabaseIsTablePersistent( db, szwTableName ); + r = _libmsi_database_is_table_persistent( db, szwTableName ); msiobj_release( &db->hdr ); msi_free( szwTableName ); diff --git a/libmsi/query.h b/libmsi/query.h index 18a53f0..48e4ebc 100644 --- a/libmsi/query.h +++ b/libmsi/query.h @@ -97,42 +97,42 @@ struct expr } u; }; -unsigned MSI_ParseSQL( LibmsiDatabase *db, const WCHAR *command, LibmsiView **phview, +unsigned _libmsi_parse_sql( LibmsiDatabase *db, const WCHAR *command, LibmsiView **phview, struct list *mem ); -unsigned TABLE_CreateView( LibmsiDatabase *db, const WCHAR *name, LibmsiView **view ); +unsigned table_view_create( LibmsiDatabase *db, const WCHAR *name, LibmsiView **view ); -unsigned SELECT_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table, +unsigned select_view_create( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table, const column_info *columns ); -unsigned DISTINCT_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ); +unsigned distinct_view_create( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ); -unsigned ORDER_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table, +unsigned order_view_create( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table, column_info *columns ); -unsigned WHERE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *tables, +unsigned where_view_create( LibmsiDatabase *db, LibmsiView **view, WCHAR *tables, struct expr *cond ); -unsigned CREATE_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, +unsigned create_view_create( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, column_info *col_info, bool hold ); -unsigned INSERT_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, +unsigned insert_view_create( LibmsiDatabase *db, LibmsiView **view, const WCHAR *table, column_info *columns, column_info *values, bool temp ); -unsigned UPDATE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *table, +unsigned update_view_create( LibmsiDatabase *db, LibmsiView **view, WCHAR *table, column_info *list, struct expr *expr ); -unsigned DELETE_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ); +unsigned delete_view_create( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table ); -unsigned ALTER_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *name, column_info *colinfo, int hold ); +unsigned alter_view_create( LibmsiDatabase *db, LibmsiView **view, const WCHAR *name, column_info *colinfo, int hold ); -unsigned STREAMS_CreateView( LibmsiDatabase *db, LibmsiView **view ); +unsigned streams_view_create( LibmsiDatabase *db, LibmsiView **view ); -unsigned STORAGES_CreateView( LibmsiDatabase *db, LibmsiView **view ); +unsigned storages_view_create( LibmsiDatabase *db, LibmsiView **view ); -unsigned DROP_CreateView( LibmsiDatabase *db, LibmsiView **view, const WCHAR *name ); +unsigned drop_view_create( LibmsiDatabase *db, LibmsiView **view, const WCHAR *name ); -int sqliteGetToken(const WCHAR *z, int *tokenType, int *skip); +int sql_get_token(const WCHAR *z, int *tokenType, int *skip); LibmsiRecord *msi_query_merge_record( unsigned fields, const column_info *vl, LibmsiRecord *rec ); diff --git a/libmsi/record.c b/libmsi/record.c index 0d3405f..046df72 100644 --- a/libmsi/record.c +++ b/libmsi/record.c @@ -44,7 +44,7 @@ #define LIBMSI_FIELD_TYPE_STREAM 4 #define LIBMSI_FIELD_TYPE_INTPTR 5 -static void MSI_FreeField( LibmsiField *field ) +static void _libmsi_free_field( LibmsiField *field ) { switch( field->type ) { @@ -63,16 +63,16 @@ static void MSI_FreeField( LibmsiField *field ) } } -void MSI_CloseRecord( LibmsiObject *arg ) +void _libmsi_record_destroy( LibmsiObject *arg ) { LibmsiRecord *rec = (LibmsiRecord *) arg; unsigned i; for( i=0; i<=rec->count; i++ ) - MSI_FreeField( &rec->fields[i] ); + _libmsi_free_field( &rec->fields[i] ); } -LibmsiRecord *MsiCreateRecord( unsigned cParams ) +LibmsiRecord *libmsi_record_create( unsigned cParams ) { LibmsiRecord *rec; unsigned len; @@ -83,13 +83,13 @@ LibmsiRecord *MsiCreateRecord( unsigned cParams ) return NULL; len = sizeof (LibmsiRecord) + sizeof (LibmsiField)*cParams; - rec = alloc_msiobject( len, MSI_CloseRecord ); + rec = alloc_msiobject( len, _libmsi_record_destroy ); if( rec ) rec->count = cParams; return rec; } -unsigned MsiRecordGetFieldCount( const LibmsiRecord *rec ) +unsigned libmsi_record_get_field_count( const LibmsiRecord *rec ) { if( !rec ) return -1; @@ -97,7 +97,7 @@ unsigned MsiRecordGetFieldCount( const LibmsiRecord *rec ) return rec->count; } -static bool string2intW( const WCHAR *str, int *out ) +static bool expr_int_from_string( const WCHAR *str, int *out ) { int x = 0; const WCHAR *p = str; @@ -120,7 +120,7 @@ static bool string2intW( const WCHAR *str, int *out ) return true; } -unsigned MSI_RecordCopyField( LibmsiRecord *in_rec, unsigned in_n, +unsigned _libmsi_record_copy_field( LibmsiRecord *in_rec, unsigned in_n, LibmsiRecord *out_rec, unsigned out_n ) { unsigned r = ERROR_SUCCESS; @@ -166,7 +166,7 @@ unsigned MSI_RecordCopyField( LibmsiRecord *in_rec, unsigned in_n, return r; } -intptr_t MSI_RecordGetIntPtr( const LibmsiRecord *rec, unsigned iField ) +intptr_t _libmsi_record_get_int_ptr( const LibmsiRecord *rec, unsigned iField ) { int ret; @@ -182,7 +182,7 @@ intptr_t MSI_RecordGetIntPtr( const LibmsiRecord *rec, unsigned iField ) case LIBMSI_FIELD_TYPE_INTPTR: return rec->fields[iField].u.pVal; case LIBMSI_FIELD_TYPE_WSTR: - if( string2intW( rec->fields[iField].u.szwVal, &ret ) ) + if( expr_int_from_string( rec->fields[iField].u.szwVal, &ret ) ) return ret; return INTPTR_MIN; default: @@ -192,7 +192,7 @@ intptr_t MSI_RecordGetIntPtr( const LibmsiRecord *rec, unsigned iField ) return INTPTR_MIN; } -int MsiRecordGetInteger( const LibmsiRecord *rec, unsigned iField) +int libmsi_record_get_integer( const LibmsiRecord *rec, unsigned iField) { int ret = 0; @@ -211,7 +211,7 @@ int MsiRecordGetInteger( const LibmsiRecord *rec, unsigned iField) case LIBMSI_FIELD_TYPE_INTPTR: return rec->fields[iField].u.pVal; case LIBMSI_FIELD_TYPE_WSTR: - if( string2intW( rec->fields[iField].u.szwVal, &ret ) ) + if( expr_int_from_string( rec->fields[iField].u.szwVal, &ret ) ) return ret; return MSI_NULL_INTEGER; default: @@ -221,7 +221,7 @@ int MsiRecordGetInteger( const LibmsiRecord *rec, unsigned iField) return MSI_NULL_INTEGER; } -unsigned MsiRecordClearData( LibmsiRecord *rec ) +unsigned libmsi_record_clear_data( LibmsiRecord *rec ) { unsigned i; @@ -233,7 +233,7 @@ unsigned MsiRecordClearData( LibmsiRecord *rec ) msiobj_addref( &rec->hdr ); for( i=0; i<=rec->count; i++) { - MSI_FreeField( &rec->fields[i] ); + _libmsi_free_field( &rec->fields[i] ); rec->fields[i].type = LIBMSI_FIELD_TYPE_NULL; rec->fields[i].u.iVal = 0; } @@ -242,21 +242,21 @@ unsigned MsiRecordClearData( LibmsiRecord *rec ) return ERROR_SUCCESS; } -unsigned MSI_RecordSetIntPtr( LibmsiRecord *rec, unsigned iField, intptr_t pVal ) +unsigned _libmsi_record_set_int_ptr( LibmsiRecord *rec, unsigned iField, intptr_t pVal ) { TRACE("%p %u %ld\n", rec, iField, pVal); if( iField > rec->count ) return ERROR_INVALID_PARAMETER; - MSI_FreeField( &rec->fields[iField] ); + _libmsi_free_field( &rec->fields[iField] ); rec->fields[iField].type = LIBMSI_FIELD_TYPE_INTPTR; rec->fields[iField].u.pVal = pVal; return ERROR_SUCCESS; } -unsigned MsiRecordSetInteger( LibmsiRecord *rec, unsigned iField, int iVal ) +unsigned libmsi_record_set_int( LibmsiRecord *rec, unsigned iField, int iVal ) { TRACE("%p %u %d\n", rec, iField, iVal); @@ -266,14 +266,14 @@ unsigned MsiRecordSetInteger( LibmsiRecord *rec, unsigned iField, int iVal ) if( iField > rec->count ) return ERROR_INVALID_PARAMETER; - MSI_FreeField( &rec->fields[iField] ); + _libmsi_free_field( &rec->fields[iField] ); rec->fields[iField].type = LIBMSI_FIELD_TYPE_INT; rec->fields[iField].u.iVal = iVal; return ERROR_SUCCESS; } -bool MsiRecordIsNull( const LibmsiRecord *rec, unsigned iField ) +bool libmsi_record_is_null( const LibmsiRecord *rec, unsigned iField ) { bool r = true; @@ -288,7 +288,7 @@ bool MsiRecordIsNull( const LibmsiRecord *rec, unsigned iField ) return r; } -unsigned MsiRecordGetString(const LibmsiRecord *rec, unsigned iField, +unsigned libmsi_record_get_string(const LibmsiRecord *rec, unsigned iField, char *szValue, unsigned *pcchValue) { unsigned len=0, ret; @@ -344,7 +344,7 @@ unsigned MsiRecordGetString(const LibmsiRecord *rec, unsigned iField, return ret; } -const WCHAR *MSI_RecordGetStringRaw( const LibmsiRecord *rec, unsigned iField ) +const WCHAR *_libmsi_record_get_string_raw( const LibmsiRecord *rec, unsigned iField ) { if( iField > rec->count ) return NULL; @@ -355,7 +355,7 @@ const WCHAR *MSI_RecordGetStringRaw( const LibmsiRecord *rec, unsigned iField ) return rec->fields[iField].u.szwVal; } -unsigned MSI_RecordGetStringW(const LibmsiRecord *rec, unsigned iField, +unsigned _libmsi_record_get_stringW(const LibmsiRecord *rec, unsigned iField, WCHAR *szValue, unsigned *pcchValue) { unsigned len=0, ret; @@ -413,7 +413,7 @@ static unsigned msi_get_stream_size( IStream *stm ) return stat.cbSize.QuadPart; } -unsigned MsiRecordDataSize(const LibmsiRecord *rec, unsigned iField) +unsigned libmsi_record_get_field_size(const LibmsiRecord *rec, unsigned iField) { TRACE("%p %d\n", rec, iField); @@ -437,7 +437,7 @@ unsigned MsiRecordDataSize(const LibmsiRecord *rec, unsigned iField) return 0; } -unsigned MsiRecordSetString( LibmsiRecord *rec, unsigned iField, const char *szValue ) +unsigned libmsi_record_set_string( LibmsiRecord *rec, unsigned iField, const char *szValue ) { WCHAR *str; @@ -447,10 +447,10 @@ unsigned MsiRecordSetString( LibmsiRecord *rec, unsigned iField, const char *szV return ERROR_INVALID_HANDLE; str = strdupAtoW( szValue ); - return MSI_RecordSetStringW( rec, iField, str ); + return _libmsi_record_set_stringW( rec, iField, str ); } -unsigned MSI_RecordSetStringW( LibmsiRecord *rec, unsigned iField, const WCHAR *szValue ) +unsigned _libmsi_record_set_stringW( LibmsiRecord *rec, unsigned iField, const WCHAR *szValue ) { WCHAR *str; @@ -459,7 +459,7 @@ unsigned MSI_RecordSetStringW( LibmsiRecord *rec, unsigned iField, const WCHAR * if( iField > rec->count ) return ERROR_INVALID_FIELD; - MSI_FreeField( &rec->fields[iField] ); + _libmsi_free_field( &rec->fields[iField] ); if( szValue && szValue[0] ) { @@ -477,7 +477,7 @@ unsigned MSI_RecordSetStringW( LibmsiRecord *rec, unsigned iField, const WCHAR * } /* read the data in a file into an IStream */ -static unsigned RECORD_StreamFromFile(const char *szFile, IStream **pstm) +static unsigned _libmsi_addstream_from_file(const char *szFile, IStream **pstm) { unsigned sz, szHighWord = 0, read; HANDLE handle; @@ -526,19 +526,19 @@ static unsigned RECORD_StreamFromFile(const char *szFile, IStream **pstm) return ERROR_SUCCESS; } -unsigned MSI_RecordSetStream(LibmsiRecord *rec, unsigned iField, IStream *stream) +unsigned _libmsi_record_load_stream(LibmsiRecord *rec, unsigned iField, IStream *stream) { if ( (iField == 0) || (iField > rec->count) ) return ERROR_INVALID_PARAMETER; - MSI_FreeField( &rec->fields[iField] ); + _libmsi_free_field( &rec->fields[iField] ); rec->fields[iField].type = LIBMSI_FIELD_TYPE_STREAM; rec->fields[iField].u.stream = stream; return ERROR_SUCCESS; } -unsigned MSI_RecordSetStreamFromFile(LibmsiRecord *rec, unsigned iField, const char *szFilename) +unsigned _libmsi_record_load_stream_from_file(LibmsiRecord *rec, unsigned iField, const char *szFilename) { IStream *stm = NULL; HRESULT r; @@ -567,18 +567,18 @@ unsigned MSI_RecordSetStreamFromFile(LibmsiRecord *rec, unsigned iField, const c else { /* read the file into a stream and save the stream in the record */ - r = RECORD_StreamFromFile(szFilename, &stm); + r = _libmsi_addstream_from_file(szFilename, &stm); if( r != ERROR_SUCCESS ) return r; /* if all's good, store it in the record */ - MSI_RecordSetStream(rec, iField, stm); + _libmsi_record_load_stream(rec, iField, stm); } return ERROR_SUCCESS; } -unsigned MsiRecordSetStream(LibmsiRecord *rec, unsigned iField, const char *szFilename) +unsigned libmsi_record_load_stream(LibmsiRecord *rec, unsigned iField, const char *szFilename) { unsigned ret; @@ -588,12 +588,12 @@ unsigned MsiRecordSetStream(LibmsiRecord *rec, unsigned iField, const char *szFi return ERROR_INVALID_HANDLE; msiobj_addref( &rec->hdr ); - ret = MSI_RecordSetStreamFromFile( rec, iField, szFilename ); + ret = _libmsi_record_load_stream_from_file( rec, iField, szFilename ); msiobj_release( &rec->hdr ); return ret; } -unsigned MSI_RecordReadStream(const LibmsiRecord *rec, unsigned iField, char *buf, unsigned *sz) +unsigned _libmsi_record_save_stream(const LibmsiRecord *rec, unsigned iField, char *buf, unsigned *sz) { unsigned count; HRESULT r; @@ -651,7 +651,7 @@ unsigned MSI_RecordReadStream(const LibmsiRecord *rec, unsigned iField, char *bu return ERROR_SUCCESS; } -unsigned MsiRecordReadStream(LibmsiRecord *rec, unsigned iField, char *buf, unsigned *sz) +unsigned libmsi_record_save_stream(LibmsiRecord *rec, unsigned iField, char *buf, unsigned *sz) { unsigned ret; @@ -661,19 +661,19 @@ unsigned MsiRecordReadStream(LibmsiRecord *rec, unsigned iField, char *buf, unsi return ERROR_INVALID_HANDLE; msiobj_addref( &rec->hdr ); - ret = MSI_RecordReadStream( rec, iField, buf, sz ); + ret = _libmsi_record_save_stream( rec, iField, buf, sz ); msiobj_release( &rec->hdr ); return ret; } -unsigned MSI_RecordSetIStream( LibmsiRecord *rec, unsigned iField, IStream *stm ) +unsigned _libmsi_record_set_IStream( LibmsiRecord *rec, unsigned iField, IStream *stm ) { TRACE("%p %d %p\n", rec, iField, stm); if( iField > rec->count ) return ERROR_INVALID_FIELD; - MSI_FreeField( &rec->fields[iField] ); + _libmsi_free_field( &rec->fields[iField] ); rec->fields[iField].type = LIBMSI_FIELD_TYPE_STREAM; rec->fields[iField].u.stream = stm; @@ -682,7 +682,7 @@ unsigned MSI_RecordSetIStream( LibmsiRecord *rec, unsigned iField, IStream *stm return ERROR_SUCCESS; } -unsigned MSI_RecordGetIStream( const LibmsiRecord *rec, unsigned iField, IStream **pstm) +unsigned _libmsi_record_get_IStream( const LibmsiRecord *rec, unsigned iField, IStream **pstm) { TRACE("%p %d %p\n", rec, iField, pstm); @@ -730,14 +730,14 @@ end: return ERROR_SUCCESS; } -unsigned MSI_RecordStreamToFile( const LibmsiRecord *rec, unsigned iField, const WCHAR *name ) +unsigned _libmsi_record_save_stream_to_file( const LibmsiRecord *rec, unsigned iField, const WCHAR *name ) { IStream *stm = NULL; unsigned r; TRACE("%p %u %s\n", rec, iField, debugstr_w(name)); - r = MSI_RecordGetIStream( rec, iField, &stm ); + r = _libmsi_record_get_IStream( rec, iField, &stm ); if( r == ERROR_SUCCESS ) { r = msi_dump_stream_to_file( stm, name ); @@ -747,13 +747,13 @@ unsigned MSI_RecordStreamToFile( const LibmsiRecord *rec, unsigned iField, const return r; } -LibmsiRecord *MSI_CloneRecord(LibmsiRecord *rec) +LibmsiRecord *_libmsi_record_clone(LibmsiRecord *rec) { LibmsiRecord *clone; unsigned r, i, count; - count = MsiRecordGetFieldCount(rec); - clone = MsiCreateRecord(count); + count = libmsi_record_get_field_count(rec); + clone = libmsi_record_create(count); if (!clone) return NULL; @@ -771,7 +771,7 @@ LibmsiRecord *MSI_CloneRecord(LibmsiRecord *rec) } else { - r = MSI_RecordCopyField(rec, i, clone, i); + r = _libmsi_record_copy_field(rec, i, clone, i); if (r != ERROR_SUCCESS) { msiobj_release(&clone->hdr); @@ -783,7 +783,7 @@ LibmsiRecord *MSI_CloneRecord(LibmsiRecord *rec) return clone; } -bool MSI_RecordsAreFieldsEqual(const LibmsiRecord *a, const LibmsiRecord *b, unsigned field) +bool _libmsi_record_compare_fields(const LibmsiRecord *a, const LibmsiRecord *b, unsigned field) { if (a->fields[field].type != b->fields[field].type) return false; @@ -811,7 +811,7 @@ bool MSI_RecordsAreFieldsEqual(const LibmsiRecord *a, const LibmsiRecord *b, uns } -bool MSI_RecordsAreEqual(const LibmsiRecord *a, const LibmsiRecord *b) +bool _libmsi_record_compare(const LibmsiRecord *a, const LibmsiRecord *b) { unsigned i; @@ -820,7 +820,7 @@ bool MSI_RecordsAreEqual(const LibmsiRecord *a, const LibmsiRecord *b) for (i = 0; i <= a->count; i++) { - if (!MSI_RecordsAreFieldsEqual( a, b, i )) + if (!_libmsi_record_compare_fields( a, b, i )) return false; } @@ -833,9 +833,9 @@ WCHAR *msi_dup_record_field( LibmsiRecord *rec, int field ) WCHAR *str; unsigned r; - if (MsiRecordIsNull( rec, field )) return NULL; + if (libmsi_record_is_null( rec, field )) return NULL; - r = MSI_RecordGetStringW( rec, field, NULL, &sz ); + r = _libmsi_record_get_stringW( rec, field, NULL, &sz ); if (r != ERROR_SUCCESS) return NULL; @@ -843,7 +843,7 @@ WCHAR *msi_dup_record_field( LibmsiRecord *rec, int field ) str = msi_alloc( sz * sizeof(WCHAR) ); if (!str) return NULL; str[0] = 0; - r = MSI_RecordGetStringW( rec, field, str, &sz ); + r = _libmsi_record_get_stringW( rec, field, str, &sz ); if (r != ERROR_SUCCESS) { ERR("failed to get string!\n"); diff --git a/libmsi/select.c b/libmsi/select.c index 2cff2d7..641faa9 100644 --- a/libmsi/select.c +++ b/libmsi/select.c @@ -46,7 +46,7 @@ typedef struct LibmsiSelectView unsigned cols[1]; } LibmsiSelectView; -static unsigned SELECT_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned select_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -67,7 +67,7 @@ static unsigned SELECT_fetch_int( LibmsiView *view, unsigned row, unsigned col, return sv->table->ops->fetch_int( sv->table, row, col, val ); } -static unsigned SELECT_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm) +static unsigned select_view_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -88,7 +88,7 @@ static unsigned SELECT_fetch_stream( LibmsiView *view, unsigned row, unsigned co return sv->table->ops->fetch_stream( sv->table, row, col, stm ); } -static unsigned SELECT_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) +static unsigned select_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) { LibmsiSelectView *sv = (LibmsiSelectView *)view; @@ -100,7 +100,7 @@ static unsigned SELECT_get_row( LibmsiView *view, unsigned row, LibmsiRecord **r return msi_view_get_row(sv->db, view, row, rec); } -static unsigned SELECT_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask ) +static unsigned select_view_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; unsigned i, expanded_mask = 0, r = ERROR_SUCCESS, col_count = 0; @@ -121,14 +121,14 @@ static unsigned SELECT_set_row( LibmsiView *view, unsigned row, LibmsiRecord *re return r; /* expand the record to the right size for the underlying table */ - expanded = MsiCreateRecord( col_count ); + expanded = libmsi_record_create( col_count ); if ( !expanded ) return ERROR_FUNCTION_FAILED; /* move the right fields across */ for ( i=0; i<sv->num_cols; i++ ) { - r = MSI_RecordCopyField( rec, i+1, expanded, sv->cols[ i ] ); + r = _libmsi_record_copy_field( rec, i+1, expanded, sv->cols[ i ] ); if (r != ERROR_SUCCESS) break; expanded_mask |= (1<<(sv->cols[i]-1)); @@ -142,7 +142,7 @@ static unsigned SELECT_set_row( LibmsiView *view, unsigned row, LibmsiRecord *re return r; } -static unsigned SELECT_insert_row( LibmsiView *view, LibmsiRecord *record, unsigned row, bool temporary ) +static unsigned select_view_insert_row( LibmsiView *view, LibmsiRecord *record, unsigned row, bool temporary ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; unsigned i, table_cols, r; @@ -158,11 +158,11 @@ static unsigned SELECT_insert_row( LibmsiView *view, LibmsiRecord *record, unsig if (r != ERROR_SUCCESS) return r; - outrec = MsiCreateRecord( table_cols + 1 ); + outrec = libmsi_record_create( table_cols + 1 ); for (i=0; i<sv->num_cols; i++) { - r = MSI_RecordCopyField( record, i+1, outrec, sv->cols[i] ); + r = _libmsi_record_copy_field( record, i+1, outrec, sv->cols[i] ); if (r != ERROR_SUCCESS) goto fail; } @@ -175,7 +175,7 @@ fail: return r; } -static unsigned SELECT_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned select_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -187,7 +187,7 @@ static unsigned SELECT_execute( LibmsiView *view, LibmsiRecord *record ) return sv->table->ops->execute( sv->table, record ); } -static unsigned SELECT_close( LibmsiView *view ) +static unsigned select_view_close( LibmsiView *view ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -199,7 +199,7 @@ static unsigned SELECT_close( LibmsiView *view ) return sv->table->ops->close( sv->table ); } -static unsigned SELECT_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned select_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -214,7 +214,7 @@ static unsigned SELECT_get_dimensions( LibmsiView *view, unsigned *rows, unsigne return sv->table->ops->get_dimensions( sv->table, rows, NULL ); } -static unsigned SELECT_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned select_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -247,7 +247,7 @@ static unsigned msi_select_update(LibmsiView *view, LibmsiRecord *rec, unsigned const WCHAR *str; LibmsiRecord *mod; - r = SELECT_get_dimensions(view, NULL, &num_columns); + r = select_view_get_dimensions(view, NULL, &num_columns); if (r != ERROR_SUCCESS) return r; @@ -259,7 +259,7 @@ static unsigned msi_select_update(LibmsiView *view, LibmsiRecord *rec, unsigned { col = sv->cols[i]; - r = SELECT_get_column_info(view, i + 1, NULL, &type, NULL, NULL); + r = select_view_get_column_info(view, i + 1, NULL, &type, NULL, NULL); if (r != ERROR_SUCCESS) { ERR("Failed to get column information: %d\n", r); @@ -274,13 +274,13 @@ static unsigned msi_select_update(LibmsiView *view, LibmsiRecord *rec, unsigned } else if (type & MSITYPE_STRING) { - str = MSI_RecordGetStringRaw(rec, i + 1); - r = MSI_RecordSetStringW(mod, col, str); + str = _libmsi_record_get_string_raw(rec, i + 1); + r = _libmsi_record_set_stringW(mod, col, str); } else { - val = MsiRecordGetInteger(rec, i + 1); - r = MsiRecordSetInteger(mod, col, val); + val = libmsi_record_get_integer(rec, i + 1); + r = libmsi_record_set_int(mod, col, val); } if (r != ERROR_SUCCESS) @@ -297,7 +297,7 @@ done: return r; } -static unsigned SELECT_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned select_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -313,7 +313,7 @@ static unsigned SELECT_modify( LibmsiView *view, LibmsiModify eModifyMode, return sv->table->ops->modify( sv->table, eModifyMode, rec, row ); } -static unsigned SELECT_delete( LibmsiView *view ) +static unsigned select_view_delete( LibmsiView *view ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -328,7 +328,7 @@ static unsigned SELECT_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned SELECT_find_matching_rows( LibmsiView *view, unsigned col, +static unsigned select_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { LibmsiSelectView *sv = (LibmsiSelectView*)view; @@ -347,21 +347,21 @@ static unsigned SELECT_find_matching_rows( LibmsiView *view, unsigned col, } -static const LibmsiViewOPS select_ops = +static const LibmsiViewOps select_ops = { - SELECT_fetch_int, - SELECT_fetch_stream, - SELECT_get_row, - SELECT_set_row, - SELECT_insert_row, + select_view_fetch_int, + select_view_fetch_stream, + select_view_get_row, + select_view_set_row, + select_view_insert_row, NULL, - SELECT_execute, - SELECT_close, - SELECT_get_dimensions, - SELECT_get_column_info, - SELECT_modify, - SELECT_delete, - SELECT_find_matching_rows, + select_view_execute, + select_view_close, + select_view_get_dimensions, + select_view_get_column_info, + select_view_modify, + select_view_delete, + select_view_find_matching_rows, NULL, NULL, NULL, @@ -370,7 +370,7 @@ static const LibmsiViewOPS select_ops = NULL, }; -static unsigned SELECT_AddColumn( LibmsiSelectView *sv, const WCHAR *name, +static unsigned select_view_add_column( LibmsiSelectView *sv, const WCHAR *name, const WCHAR *table_name ) { unsigned r, n; @@ -396,7 +396,7 @@ static unsigned SELECT_AddColumn( LibmsiSelectView *sv, const WCHAR *name, if ( !name[0] ) n = 0; else { - r = VIEW_find_column( table, name, table_name, &n ); + r = _libmsi_view_find_column( table, name, table_name, &n ); if( r != ERROR_SUCCESS ) return r; } @@ -418,7 +418,7 @@ static int select_count_columns( const column_info *col ) return n; } -unsigned SELECT_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table, +unsigned select_view_create( LibmsiDatabase *db, LibmsiView **view, LibmsiView *table, const column_info *columns ) { LibmsiSelectView *sv = NULL; @@ -441,7 +441,7 @@ unsigned SELECT_CreateView( LibmsiDatabase *db, LibmsiView **view, LibmsiView *t while( columns ) { - r = SELECT_AddColumn( sv, columns->column, columns->table ); + r = select_view_add_column( sv, columns->column, columns->table ); if( r ) break; columns = columns->next; diff --git a/libmsi/sql-parser.y b/libmsi/sql-parser.y index 531caf9..9fef336 100644 --- a/libmsi/sql-parser.y +++ b/libmsi/sql-parser.y @@ -53,22 +53,22 @@ typedef struct LibmsiSQLInput struct list *mem; } SQL_input; -static unsigned SQL_getstring( void *info, const struct sql_str *strdata, WCHAR **str ); -static INT SQL_getint( void *info ); +static unsigned sql_unescape_string( void *info, const struct sql_str *strdata, WCHAR **str ); +static INT sql_atoi( void *info ); static int sql_lex( void *SQL_lval, SQL_input *info ); static WCHAR *parser_add_table( void *info, const WCHAR *list, const WCHAR *table ); static void *parser_alloc( void *info, unsigned int sz ); static column_info *parser_alloc_column( void *info, const WCHAR *table, const WCHAR *column ); -static bool SQL_MarkPrimaryKeys( column_info **cols, column_info *keys); +static bool sql_mark_primary_keys( column_info **cols, column_info *keys); -static struct expr * EXPR_complex( void *info, struct expr *l, unsigned op, struct expr *r ); -static struct expr * EXPR_unary( void *info, struct expr *l, unsigned op ); -static struct expr * EXPR_column( void *info, const column_info *column ); -static struct expr * EXPR_ival( void *info, int val ); -static struct expr * EXPR_sval( void *info, const struct sql_str *str ); -static struct expr * EXPR_wildcard( void *info ); +static struct expr * build_expr_complex( void *info, struct expr *l, unsigned op, struct expr *r ); +static struct expr * build_expr_unary( void *info, struct expr *l, unsigned op ); +static struct expr * build_expr_column( void *info, const column_info *column ); +static struct expr * build_expr_ival( void *info, int val ); +static struct expr * build_expr_sval( void *info, const struct sql_str *str ); +static struct expr * build_expr_wildcard( void *info ); #define PARSER_BUBBLE_UP_VIEW( sql, result, current_view ) \ *sql->view = current_view; \ @@ -152,7 +152,7 @@ oneinsert: SQL_input *sql = (SQL_input*) info; LibmsiView *insert = NULL; - INSERT_CreateView( sql->db, &insert, $3, $5, $9, false ); + insert_view_create( sql->db, &insert, $3, $5, $9, false ); if( !insert ) YYABORT; @@ -163,7 +163,7 @@ oneinsert: SQL_input *sql = (SQL_input*) info; LibmsiView *insert = NULL; - INSERT_CreateView( sql->db, &insert, $3, $5, $9, true ); + insert_view_create( sql->db, &insert, $3, $5, $9, true ); if( !insert ) YYABORT; @@ -180,7 +180,7 @@ onecreate: if( !$5 ) YYABORT; - r = CREATE_CreateView( sql->db, &create, $3, $5, false ); + r = create_view_create( sql->db, &create, $3, $5, false ); if( !create ) { sql->r = r; @@ -196,7 +196,7 @@ onecreate: if( !$5 ) YYABORT; - CREATE_CreateView( sql->db, &create, $3, $5, true ); + create_view_create( sql->db, &create, $3, $5, true ); if( !create ) YYABORT; @@ -210,7 +210,7 @@ oneupdate: SQL_input* sql = (SQL_input*) info; LibmsiView *update = NULL; - UPDATE_CreateView( sql->db, &update, $2, $4, $6 ); + update_view_create( sql->db, &update, $2, $4, $6 ); if( !update ) YYABORT; @@ -221,7 +221,7 @@ oneupdate: SQL_input* sql = (SQL_input*) info; LibmsiView *update = NULL; - UPDATE_CreateView( sql->db, &update, $2, $4, NULL ); + update_view_create( sql->db, &update, $2, $4, NULL ); if( !update ) YYABORT; @@ -235,7 +235,7 @@ onedelete: SQL_input* sql = (SQL_input*) info; LibmsiView *delete = NULL; - DELETE_CreateView( sql->db, &delete, $2 ); + delete_view_create( sql->db, &delete, $2 ); if( !delete ) YYABORT; @@ -249,7 +249,7 @@ onealter: SQL_input* sql = (SQL_input*) info; LibmsiView *alter = NULL; - ALTER_CreateView( sql->db, &alter, $3, NULL, $4 ); + alter_view_create( sql->db, &alter, $3, NULL, $4 ); if( !alter ) YYABORT; @@ -260,7 +260,7 @@ onealter: SQL_input *sql = (SQL_input *)info; LibmsiView *alter = NULL; - ALTER_CreateView( sql->db, &alter, $3, $5, 0 ); + alter_view_create( sql->db, &alter, $3, $5, 0 ); if (!alter) YYABORT; @@ -271,7 +271,7 @@ onealter: SQL_input *sql = (SQL_input *)info; LibmsiView *alter = NULL; - ALTER_CreateView( sql->db, &alter, $3, $5, 1 ); + alter_view_create( sql->db, &alter, $3, $5, 1 ); if (!alter) YYABORT; @@ -297,7 +297,7 @@ onedrop: LibmsiView* drop = NULL; unsigned r; - r = DROP_CreateView( sql->db, &drop, $3 ); + r = drop_view_create( sql->db, &drop, $3 ); if( r != ERROR_SUCCESS || !$$ ) YYABORT; @@ -308,7 +308,7 @@ onedrop: table_def: column_def TK_PRIMARY TK_KEY collist { - if( SQL_MarkPrimaryKeys( &$1, $4 ) ) + if( sql_mark_primary_keys( &$1, $4 ) ) $$ = $1; else $$ = NULL; @@ -418,7 +418,7 @@ oneselect: LibmsiView* distinct = NULL; unsigned r; - r = DISTINCT_CreateView( sql->db, &distinct, $3 ); + r = distinct_view_create( sql->db, &distinct, $3 ); if (r != ERROR_SUCCESS) YYABORT; @@ -435,7 +435,7 @@ selectfrom: if( $1 ) { - r = SELECT_CreateView( sql->db, &select, $2, $1 ); + r = select_view_create( sql->db, &select, $2, $1 ); if (r != ERROR_SUCCESS) YYABORT; @@ -477,7 +477,7 @@ from: LibmsiView* table = NULL; unsigned r; - r = TABLE_CreateView( sql->db, $2, &table ); + r = table_view_create( sql->db, $2, &table ); if( r != ERROR_SUCCESS || !$$ ) YYABORT; @@ -506,7 +506,7 @@ unorderdfrom: LibmsiView* where = NULL; unsigned r; - r = WHERE_CreateView( sql->db, &where, $2, NULL ); + r = where_view_create( sql->db, &where, $2, NULL ); if( r != ERROR_SUCCESS ) YYABORT; @@ -518,7 +518,7 @@ unorderdfrom: LibmsiView* where = NULL; unsigned r; - r = WHERE_CreateView( sql->db, &where, $2, $4 ); + r = where_view_create( sql->db, &where, $2, $4 ); if( r != ERROR_SUCCESS ) YYABORT; @@ -548,61 +548,61 @@ expr: } | expr TK_AND expr { - $$ = EXPR_complex( info, $1, OP_AND, $3 ); + $$ = build_expr_complex( info, $1, OP_AND, $3 ); if( !$$ ) YYABORT; } | expr TK_OR expr { - $$ = EXPR_complex( info, $1, OP_OR, $3 ); + $$ = build_expr_complex( info, $1, OP_OR, $3 ); if( !$$ ) YYABORT; } | column_val TK_EQ val { - $$ = EXPR_complex( info, $1, OP_EQ, $3 ); + $$ = build_expr_complex( info, $1, OP_EQ, $3 ); if( !$$ ) YYABORT; } | column_val TK_GT val { - $$ = EXPR_complex( info, $1, OP_GT, $3 ); + $$ = build_expr_complex( info, $1, OP_GT, $3 ); if( !$$ ) YYABORT; } | column_val TK_LT val { - $$ = EXPR_complex( info, $1, OP_LT, $3 ); + $$ = build_expr_complex( info, $1, OP_LT, $3 ); if( !$$ ) YYABORT; } | column_val TK_LE val { - $$ = EXPR_complex( info, $1, OP_LE, $3 ); + $$ = build_expr_complex( info, $1, OP_LE, $3 ); if( !$$ ) YYABORT; } | column_val TK_GE val { - $$ = EXPR_complex( info, $1, OP_GE, $3 ); + $$ = build_expr_complex( info, $1, OP_GE, $3 ); if( !$$ ) YYABORT; } | column_val TK_NE val { - $$ = EXPR_complex( info, $1, OP_NE, $3 ); + $$ = build_expr_complex( info, $1, OP_NE, $3 ); if( !$$ ) YYABORT; } | column_val TK_IS TK_NULL { - $$ = EXPR_unary( info, $1, OP_ISNULL ); + $$ = build_expr_unary( info, $1, OP_ISNULL ); if( !$$ ) YYABORT; } | column_val TK_IS TK_NOT TK_NULL { - $$ = EXPR_unary( info, $1, OP_NOTNULL ); + $$ = build_expr_unary( info, $1, OP_NOTNULL ); if( !$$ ) YYABORT; } @@ -651,25 +651,25 @@ column_assignment: const_val: number { - $$ = EXPR_ival( info, $1 ); + $$ = build_expr_ival( info, $1 ); if( !$$ ) YYABORT; } | TK_MINUS number %prec TK_NEGATION { - $$ = EXPR_ival( info, -$2 ); + $$ = build_expr_ival( info, -$2 ); if( !$$ ) YYABORT; } | TK_STRING { - $$ = EXPR_sval( info, &$1 ); + $$ = build_expr_sval( info, &$1 ); if( !$$ ) YYABORT; } | TK_WILDCARD { - $$ = EXPR_wildcard( info ); + $$ = build_expr_wildcard( info ); if( !$$ ) YYABORT; } @@ -678,7 +678,7 @@ const_val: column_val: column { - $$ = EXPR_column( info, $1 ); + $$ = build_expr_column( info, $1 ); if( !$$ ) YYABORT; } @@ -730,7 +730,7 @@ table: id: TK_ID { - if ( SQL_getstring( info, &$1, &$$ ) != ERROR_SUCCESS || !$$ ) + if ( sql_unescape_string( info, &$1, &$$ ) != ERROR_SUCCESS || !$$ ) YYABORT; } ; @@ -738,7 +738,7 @@ id: string: TK_STRING { - if ( SQL_getstring( info, &$1, &$$ ) != ERROR_SUCCESS || !$$ ) + if ( sql_unescape_string( info, &$1, &$$ ) != ERROR_SUCCESS || !$$ ) YYABORT; } ; @@ -746,7 +746,7 @@ string: number: TK_INTEGER { - $$ = SQL_getint( info ); + $$ = sql_atoi( info ); } ; @@ -807,7 +807,7 @@ static int sql_lex( void *SQL_lval, SQL_input *sql ) return 0; /* end of input */ /* TRACE("string : %s\n", debugstr_w(&sql->command[sql->n])); */ - sql->len = sqliteGetToken( &sql->command[sql->n], &token, &skip ); + sql->len = sql_get_token( &sql->command[sql->n], &token, &skip ); if( sql->len==0 ) break; str->data = &sql->command[sql->n]; @@ -821,7 +821,7 @@ static int sql_lex( void *SQL_lval, SQL_input *sql ) return token; } -unsigned SQL_getstring( void *info, const struct sql_str *strdata, WCHAR **str ) +unsigned sql_unescape_string( void *info, const struct sql_str *strdata, WCHAR **str ) { const WCHAR *p = strdata->data; unsigned len = strdata->len; @@ -847,7 +847,7 @@ unsigned SQL_getstring( void *info, const struct sql_str *strdata, WCHAR **str ) return ERROR_SUCCESS; } -INT SQL_getint( void *info ) +INT sql_atoi( void *info ) { SQL_input* sql = (SQL_input*) info; const WCHAR *p = &sql->command[sql->n]; @@ -871,7 +871,7 @@ static int sql_error( const char *str ) return 0; } -static struct expr * EXPR_wildcard( void *info ) +static struct expr * build_expr_wildcard( void *info ) { struct expr *e = parser_alloc( info, sizeof *e ); if( e ) @@ -881,7 +881,7 @@ static struct expr * EXPR_wildcard( void *info ) return e; } -static struct expr * EXPR_complex( void *info, struct expr *l, unsigned op, struct expr *r ) +static struct expr * build_expr_complex( void *info, struct expr *l, unsigned op, struct expr *r ) { struct expr *e = parser_alloc( info, sizeof *e ); if( e ) @@ -894,7 +894,7 @@ static struct expr * EXPR_complex( void *info, struct expr *l, unsigned op, stru return e; } -static struct expr * EXPR_unary( void *info, struct expr *l, unsigned op ) +static struct expr * build_expr_unary( void *info, struct expr *l, unsigned op ) { struct expr *e = parser_alloc( info, sizeof *e ); if( e ) @@ -907,7 +907,7 @@ static struct expr * EXPR_unary( void *info, struct expr *l, unsigned op ) return e; } -static struct expr * EXPR_column( void *info, const column_info *column ) +static struct expr * build_expr_column( void *info, const column_info *column ) { struct expr *e = parser_alloc( info, sizeof *e ); if( e ) @@ -919,7 +919,7 @@ static struct expr * EXPR_column( void *info, const column_info *column ) return e; } -static struct expr * EXPR_ival( void *info, int val ) +static struct expr * build_expr_ival( void *info, int val ) { struct expr *e = parser_alloc( info, sizeof *e ); if( e ) @@ -930,13 +930,13 @@ static struct expr * EXPR_ival( void *info, int val ) return e; } -static struct expr * EXPR_sval( void *info, const struct sql_str *str ) +static struct expr * build_expr_sval( void *info, const struct sql_str *str ) { struct expr *e = parser_alloc( info, sizeof *e ); if( e ) { e->type = EXPR_SVAL; - if( SQL_getstring( info, str, (WCHAR **)&e->u.sval ) != ERROR_SUCCESS ) + if( sql_unescape_string( info, str, (WCHAR **)&e->u.sval ) != ERROR_SUCCESS ) return NULL; /* e will be freed by query destructor */ } return e; @@ -971,7 +971,7 @@ static void swap_columns( column_info **cols, column_info *A, int idx ) *cols = A; } -static bool SQL_MarkPrimaryKeys( column_info **cols, +static bool sql_mark_primary_keys( column_info **cols, column_info *keys ) { column_info *k; @@ -998,7 +998,7 @@ static bool SQL_MarkPrimaryKeys( column_info **cols, return found; } -unsigned MSI_ParseSQL( LibmsiDatabase *db, const WCHAR *command, LibmsiView **phview, +unsigned _libmsi_parse_sql( LibmsiDatabase *db, const WCHAR *command, LibmsiView **phview, struct list *mem ) { SQL_input sql; diff --git a/libmsi/storages.c b/libmsi/storages.c index f89e516..a6dc32f 100644 --- a/libmsi/storages.c +++ b/libmsi/storages.c @@ -74,7 +74,7 @@ static STORAGE *create_storage(LibmsiStorageView *sv, const WCHAR *name, IStorag if (!storage) return NULL; - storage->str_index = msi_addstringW(sv->db->strings, name, -1, 1, StringNonPersistent); + storage->str_index = _libmsi_add_string(sv->db->strings, name, -1, 1, StringNonPersistent); storage->storage = stg; if (storage->storage) @@ -83,7 +83,7 @@ static STORAGE *create_storage(LibmsiStorageView *sv, const WCHAR *name, IStorag return storage; } -static unsigned STORAGES_fetch_int(LibmsiView *view, unsigned row, unsigned col, unsigned *val) +static unsigned storages_view_fetch_int(LibmsiView *view, unsigned row, unsigned col, unsigned *val) { LibmsiStorageView *sv = (LibmsiStorageView *)view; @@ -100,7 +100,7 @@ static unsigned STORAGES_fetch_int(LibmsiView *view, unsigned row, unsigned col, return ERROR_SUCCESS; } -static unsigned STORAGES_fetch_stream(LibmsiView *view, unsigned row, unsigned col, IStream **stm) +static unsigned storages_view_fetch_stream(LibmsiView *view, unsigned row, unsigned col, IStream **stm) { LibmsiStorageView *sv = (LibmsiStorageView *)view; @@ -112,7 +112,7 @@ static unsigned STORAGES_fetch_stream(LibmsiView *view, unsigned row, unsigned c return ERROR_INVALID_DATA; } -static unsigned STORAGES_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) +static unsigned storages_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) { LibmsiStorageView *sv = (LibmsiStorageView *)view; @@ -170,7 +170,7 @@ done: return hr; } -static unsigned STORAGES_set_row(LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask) +static unsigned storages_view_set_row(LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask) { LibmsiStorageView *sv = (LibmsiStorageView *)view; IStorage *stg, *substg = NULL; @@ -184,7 +184,7 @@ static unsigned STORAGES_set_row(LibmsiView *view, unsigned row, LibmsiRecord *r if (row > sv->num_rows) return ERROR_FUNCTION_FAILED; - r = MSI_RecordGetIStream(rec, 2, &stm); + r = _libmsi_record_get_IStream(rec, 2, &stm); if (r != ERROR_SUCCESS) return r; @@ -195,7 +195,7 @@ static unsigned STORAGES_set_row(LibmsiView *view, unsigned row, LibmsiRecord *r return r; } - name = strdupW(MSI_RecordGetStringRaw(rec, 1)); + name = strdupW(_libmsi_record_get_string_raw(rec, 1)); if (!name) { r = ERROR_OUTOFMEMORY; @@ -232,7 +232,7 @@ done: return r; } -static unsigned STORAGES_insert_row(LibmsiView *view, LibmsiRecord *rec, unsigned row, bool temporary) +static unsigned storages_view_insert_row(LibmsiView *view, LibmsiRecord *rec, unsigned row, bool temporary) { LibmsiStorageView *sv = (LibmsiStorageView *)view; @@ -244,28 +244,28 @@ static unsigned STORAGES_insert_row(LibmsiView *view, LibmsiRecord *rec, unsigne /* FIXME have to readjust rows */ - return STORAGES_set_row(view, row, rec, 0); + return storages_view_set_row(view, row, rec, 0); } -static unsigned STORAGES_delete_row(LibmsiView *view, unsigned row) +static unsigned storages_view_delete_row(LibmsiView *view, unsigned row) { FIXME("(%p %d): stub!\n", view, row); return ERROR_SUCCESS; } -static unsigned STORAGES_execute(LibmsiView *view, LibmsiRecord *record) +static unsigned storages_view_execute(LibmsiView *view, LibmsiRecord *record) { TRACE("(%p, %p)\n", view, record); return ERROR_SUCCESS; } -static unsigned STORAGES_close(LibmsiView *view) +static unsigned storages_view_close(LibmsiView *view) { TRACE("(%p)\n", view); return ERROR_SUCCESS; } -static unsigned STORAGES_get_dimensions(LibmsiView *view, unsigned *rows, unsigned *cols) +static unsigned storages_view_get_dimensions(LibmsiView *view, unsigned *rows, unsigned *cols) { LibmsiStorageView *sv = (LibmsiStorageView *)view; @@ -277,7 +277,7 @@ static unsigned STORAGES_get_dimensions(LibmsiView *view, unsigned *rows, unsign return ERROR_SUCCESS; } -static unsigned STORAGES_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned storages_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { TRACE("(%p, %d, %p, %p, %p, %p)\n", view, n, name, type, temporary, @@ -308,14 +308,14 @@ static unsigned storages_find_row(LibmsiStorageView *sv, LibmsiRecord *rec, unsi const WCHAR *str; unsigned r, i, id, data; - str = MSI_RecordGetStringRaw(rec, 1); - r = msi_string2idW(sv->db->strings, str, &id); + str = _libmsi_record_get_string_raw(rec, 1); + r = _libmsi_id_from_stringW(sv->db->strings, str, &id); if (r != ERROR_SUCCESS) return r; for (i = 0; i < sv->num_rows; i++) { - STORAGES_fetch_int(&sv->view, i, 1, &data); + storages_view_fetch_int(&sv->view, i, 1, &data); if (data == id) { @@ -336,7 +336,7 @@ static unsigned storages_modify_update(LibmsiView *view, LibmsiRecord *rec) if (r != ERROR_SUCCESS) return ERROR_FUNCTION_FAILED; - return STORAGES_set_row(view, row, rec, 0); + return storages_view_set_row(view, row, rec, 0); } static unsigned storages_modify_assign(LibmsiView *view, LibmsiRecord *rec) @@ -348,10 +348,10 @@ static unsigned storages_modify_assign(LibmsiView *view, LibmsiRecord *rec) if (r == ERROR_SUCCESS) return storages_modify_update(view, rec); - return STORAGES_insert_row(view, rec, -1, false); + return storages_view_insert_row(view, rec, -1, false); } -static unsigned STORAGES_modify(LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) +static unsigned storages_view_modify(LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) { unsigned r; @@ -364,7 +364,7 @@ static unsigned STORAGES_modify(LibmsiView *view, LibmsiModify eModifyMode, Libm break; case LIBMSI_MODIFY_INSERT: - r = STORAGES_insert_row(view, rec, -1, false); + r = storages_view_insert_row(view, rec, -1, false); break; case LIBMSI_MODIFY_UPDATE: @@ -391,7 +391,7 @@ static unsigned STORAGES_modify(LibmsiView *view, LibmsiModify eModifyMode, Libm return r; } -static unsigned STORAGES_delete(LibmsiView *view) +static unsigned storages_view_delete(LibmsiView *view) { LibmsiStorageView *sv = (LibmsiStorageView *)view; unsigned i; @@ -412,7 +412,7 @@ static unsigned STORAGES_delete(LibmsiView *view) return ERROR_SUCCESS; } -static unsigned STORAGES_find_matching_rows(LibmsiView *view, unsigned col, +static unsigned storages_view_find_matching_rows(LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle) { LibmsiStorageView *sv = (LibmsiStorageView *)view; @@ -441,21 +441,21 @@ static unsigned STORAGES_find_matching_rows(LibmsiView *view, unsigned col, return ERROR_SUCCESS; } -static const LibmsiViewOPS storages_ops = +static const LibmsiViewOps storages_ops = { - STORAGES_fetch_int, - STORAGES_fetch_stream, - STORAGES_get_row, - STORAGES_set_row, - STORAGES_insert_row, - STORAGES_delete_row, - STORAGES_execute, - STORAGES_close, - STORAGES_get_dimensions, - STORAGES_get_column_info, - STORAGES_modify, - STORAGES_delete, - STORAGES_find_matching_rows, + storages_view_fetch_int, + storages_view_fetch_stream, + storages_view_get_row, + storages_view_set_row, + storages_view_insert_row, + storages_view_delete_row, + storages_view_execute, + storages_view_close, + storages_view_get_dimensions, + storages_view_get_column_info, + storages_view_modify, + storages_view_delete, + storages_view_find_matching_rows, NULL, NULL, NULL, @@ -522,7 +522,7 @@ static int add_storages_to_table(LibmsiStorageView *sv) return count; } -unsigned STORAGES_CreateView(LibmsiDatabase *db, LibmsiView **view) +unsigned storages_view_create(LibmsiDatabase *db, LibmsiView **view) { LibmsiStorageView *sv; int rows; diff --git a/libmsi/streams.c b/libmsi/streams.c index e909afe..aee73e1 100644 --- a/libmsi/streams.c +++ b/libmsi/streams.c @@ -42,7 +42,7 @@ typedef struct tabSTREAM IStream *stream; } STREAM; -typedef struct LibmsiStreamSVIEW +typedef struct LibmsiStreamsView { LibmsiView view; LibmsiDatabase *db; @@ -50,9 +50,9 @@ typedef struct LibmsiStreamSVIEW unsigned max_streams; unsigned num_rows; unsigned row_size; -} LibmsiStreamSVIEW; +} LibmsiStreamsView; -static bool streams_set_table_size(LibmsiStreamSVIEW *sv, unsigned size) +static bool streams_set_table_size(LibmsiStreamsView *sv, unsigned size) { if (size >= sv->max_streams) { @@ -66,7 +66,7 @@ static bool streams_set_table_size(LibmsiStreamSVIEW *sv, unsigned size) return true; } -static STREAM *create_stream(LibmsiStreamSVIEW *sv, const WCHAR *name, bool encoded, IStream *stm) +static STREAM *create_stream(LibmsiStreamsView *sv, const WCHAR *name, bool encoded, IStream *stm) { STREAM *stream; WCHAR decoded[MAX_STREAM_NAME_LEN]; @@ -82,14 +82,14 @@ static STREAM *create_stream(LibmsiStreamSVIEW *sv, const WCHAR *name, bool enco name = decoded; } - stream->str_index = msi_addstringW(sv->db->strings, name, -1, 1, StringNonPersistent); + stream->str_index = _libmsi_add_string(sv->db->strings, name, -1, 1, StringNonPersistent); stream->stream = stm; return stream; } -static unsigned STREAMS_fetch_int(LibmsiView *view, unsigned row, unsigned col, unsigned *val) +static unsigned streams_view_fetch_int(LibmsiView *view, unsigned row, unsigned col, unsigned *val) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; TRACE("(%p, %d, %d, %p)\n", view, row, col, val); @@ -104,9 +104,9 @@ static unsigned STREAMS_fetch_int(LibmsiView *view, unsigned row, unsigned col, return ERROR_SUCCESS; } -static unsigned STREAMS_fetch_stream(LibmsiView *view, unsigned row, unsigned col, IStream **stm) +static unsigned streams_view_fetch_stream(LibmsiView *view, unsigned row, unsigned col, IStream **stm) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; TRACE("(%p, %d, %d, %p)\n", view, row, col, stm); @@ -119,18 +119,18 @@ static unsigned STREAMS_fetch_stream(LibmsiView *view, unsigned row, unsigned co return ERROR_SUCCESS; } -static unsigned STREAMS_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) +static unsigned streams_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; TRACE("%p %d %p\n", sv, row, rec); return msi_view_get_row( sv->db, view, row, rec ); } -static unsigned STREAMS_set_row(LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask) +static unsigned streams_view_set_row(LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; STREAM *stream; IStream *stm; STATSTG stat; @@ -146,7 +146,7 @@ static unsigned STREAMS_set_row(LibmsiView *view, unsigned row, LibmsiRecord *re if (row > sv->num_rows) return ERROR_FUNCTION_FAILED; - r = MSI_RecordGetIStream(rec, 2, &stm); + r = _libmsi_record_get_IStream(rec, 2, &stm); if (r != ERROR_SUCCESS) return r; @@ -174,7 +174,7 @@ static unsigned STREAMS_set_row(LibmsiView *view, unsigned row, LibmsiRecord *re goto done; } - name = strdupW(MSI_RecordGetStringRaw(rec, 1)); + name = strdupW(_libmsi_record_get_string_raw(rec, 1)); if (!name) { WARN("failed to retrieve stream name\n"); @@ -215,9 +215,9 @@ done: return r; } -static unsigned STREAMS_insert_row(LibmsiView *view, LibmsiRecord *rec, unsigned row, bool temporary) +static unsigned streams_view_insert_row(LibmsiView *view, LibmsiRecord *rec, unsigned row, bool temporary) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; unsigned i; TRACE("(%p, %p, %d, %d)\n", view, rec, row, temporary); @@ -234,30 +234,30 @@ static unsigned STREAMS_insert_row(LibmsiView *view, LibmsiRecord *rec, unsigned sv->streams[i] = sv->streams[i - 1]; } - return STREAMS_set_row(view, row, rec, 0); + return streams_view_set_row(view, row, rec, 0); } -static unsigned STREAMS_delete_row(LibmsiView *view, unsigned row) +static unsigned streams_view_delete_row(LibmsiView *view, unsigned row) { FIXME("(%p %d): stub!\n", view, row); return ERROR_SUCCESS; } -static unsigned STREAMS_execute(LibmsiView *view, LibmsiRecord *record) +static unsigned streams_view_execute(LibmsiView *view, LibmsiRecord *record) { TRACE("(%p, %p)\n", view, record); return ERROR_SUCCESS; } -static unsigned STREAMS_close(LibmsiView *view) +static unsigned streams_view_close(LibmsiView *view) { TRACE("(%p)\n", view); return ERROR_SUCCESS; } -static unsigned STREAMS_get_dimensions(LibmsiView *view, unsigned *rows, unsigned *cols) +static unsigned streams_view_get_dimensions(LibmsiView *view, unsigned *rows, unsigned *cols) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; TRACE("(%p, %p, %p)\n", view, rows, cols); @@ -267,7 +267,7 @@ static unsigned STREAMS_get_dimensions(LibmsiView *view, unsigned *rows, unsigne return ERROR_SUCCESS; } -static unsigned STREAMS_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned streams_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { TRACE("(%p, %d, %p, %p, %p, %p)\n", view, n, name, type, temporary, @@ -293,19 +293,19 @@ static unsigned STREAMS_get_column_info( LibmsiView *view, unsigned n, const WCH return ERROR_SUCCESS; } -static unsigned streams_find_row(LibmsiStreamSVIEW *sv, LibmsiRecord *rec, unsigned *row) +static unsigned streams_find_row(LibmsiStreamsView *sv, LibmsiRecord *rec, unsigned *row) { const WCHAR *str; unsigned r, i, id, data; - str = MSI_RecordGetStringRaw(rec, 1); - r = msi_string2idW(sv->db->strings, str, &id); + str = _libmsi_record_get_string_raw(rec, 1); + r = _libmsi_id_from_stringW(sv->db->strings, str, &id); if (r != ERROR_SUCCESS) return r; for (i = 0; i < sv->num_rows; i++) { - STREAMS_fetch_int(&sv->view, i, 1, &data); + streams_view_fetch_int(&sv->view, i, 1, &data); if (data == id) { @@ -319,29 +319,29 @@ static unsigned streams_find_row(LibmsiStreamSVIEW *sv, LibmsiRecord *rec, unsig static unsigned streams_modify_update(LibmsiView *view, LibmsiRecord *rec) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; unsigned r, row; r = streams_find_row(sv, rec, &row); if (r != ERROR_SUCCESS) return ERROR_FUNCTION_FAILED; - return STREAMS_set_row(view, row, rec, 0); + return streams_view_set_row(view, row, rec, 0); } static unsigned streams_modify_assign(LibmsiView *view, LibmsiRecord *rec) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; unsigned r, row; r = streams_find_row(sv, rec, &row); if (r == ERROR_SUCCESS) return streams_modify_update(view, rec); - return STREAMS_insert_row(view, rec, -1, false); + return streams_view_insert_row(view, rec, -1, false); } -static unsigned STREAMS_modify(LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) +static unsigned streams_view_modify(LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) { unsigned r; @@ -354,7 +354,7 @@ static unsigned STREAMS_modify(LibmsiView *view, LibmsiModify eModifyMode, Libms break; case LIBMSI_MODIFY_INSERT: - r = STREAMS_insert_row(view, rec, -1, false); + r = streams_view_insert_row(view, rec, -1, false); break; case LIBMSI_MODIFY_UPDATE: @@ -381,9 +381,9 @@ static unsigned STREAMS_modify(LibmsiView *view, LibmsiModify eModifyMode, Libms return r; } -static unsigned STREAMS_delete(LibmsiView *view) +static unsigned streams_view_delete(LibmsiView *view) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; unsigned i; TRACE("(%p)\n", view); @@ -404,10 +404,10 @@ static unsigned STREAMS_delete(LibmsiView *view) return ERROR_SUCCESS; } -static unsigned STREAMS_find_matching_rows(LibmsiView *view, unsigned col, +static unsigned streams_view_find_matching_rows(LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle) { - LibmsiStreamSVIEW *sv = (LibmsiStreamSVIEW *)view; + LibmsiStreamsView *sv = (LibmsiStreamsView *)view; unsigned index = PtrToUlong(*handle); TRACE("(%p, %d, %d, %p, %p)\n", view, col, val, row, handle); @@ -434,21 +434,21 @@ static unsigned STREAMS_find_matching_rows(LibmsiView *view, unsigned col, return ERROR_SUCCESS; } -static const LibmsiViewOPS streams_ops = +static const LibmsiViewOps streams_ops = { - STREAMS_fetch_int, - STREAMS_fetch_stream, - STREAMS_get_row, - STREAMS_set_row, - STREAMS_insert_row, - STREAMS_delete_row, - STREAMS_execute, - STREAMS_close, - STREAMS_get_dimensions, - STREAMS_get_column_info, - STREAMS_modify, - STREAMS_delete, - STREAMS_find_matching_rows, + streams_view_fetch_int, + streams_view_fetch_stream, + streams_view_get_row, + streams_view_set_row, + streams_view_insert_row, + streams_view_delete_row, + streams_view_execute, + streams_view_close, + streams_view_get_dimensions, + streams_view_get_column_info, + streams_view_modify, + streams_view_delete, + streams_view_find_matching_rows, NULL, NULL, NULL, @@ -457,7 +457,7 @@ static const LibmsiViewOPS streams_ops = NULL, }; -static int add_streams_to_table(LibmsiStreamSVIEW *sv) +static int add_streams_to_table(LibmsiStreamsView *sv) { IEnumSTATSTG *stgenum = NULL; STATSTG stat; @@ -525,14 +525,14 @@ static int add_streams_to_table(LibmsiStreamSVIEW *sv) return count; } -unsigned STREAMS_CreateView(LibmsiDatabase *db, LibmsiView **view) +unsigned streams_view_create(LibmsiDatabase *db, LibmsiView **view) { - LibmsiStreamSVIEW *sv; + LibmsiStreamsView *sv; int rows; TRACE("(%p, %p)\n", db, view); - sv = alloc_msiobject( sizeof(LibmsiStreamSVIEW), NULL ); + sv = alloc_msiobject( sizeof(LibmsiStreamsView), NULL ); if (!sv) return ERROR_FUNCTION_FAILED; diff --git a/libmsi/string.c b/libmsi/string.c index 67bf7ae..d13d6ff 100644 --- a/libmsi/string.c +++ b/libmsi/string.c @@ -225,7 +225,7 @@ static void set_st_entry( string_table *st, unsigned n, WCHAR *str, uint16_t ref st->freeslot = n + 1; } -static unsigned msi_string2idA( const string_table *st, const char *buffer, unsigned *id ) +static unsigned _libmsi_id_from_string( const string_table *st, const char *buffer, unsigned *id ) { unsigned sz; unsigned r = ERROR_INVALID_PARAMETER; @@ -247,7 +247,7 @@ static unsigned msi_string2idA( const string_table *st, const char *buffer, unsi return ERROR_NOT_ENOUGH_MEMORY; MultiByteToWideChar( st->codepage, 0, buffer, -1, str, sz ); - r = msi_string2idW( st, str, id ); + r = _libmsi_id_from_stringW( st, str, id ); msi_free( str ); return r; @@ -270,7 +270,7 @@ static int msi_addstring( string_table *st, unsigned n, const char *data, int le } else { - if( ERROR_SUCCESS == msi_string2idA( st, data, &n ) ) + if( ERROR_SUCCESS == _libmsi_id_from_string( st, data, &n ) ) { if (persistence == StringPersistent) st->strings[n].persistent_refcount += refcount; @@ -304,7 +304,7 @@ static int msi_addstring( string_table *st, unsigned n, const char *data, int le return n; } -int msi_addstringW( string_table *st, const WCHAR *data, int len, uint16_t refcount, enum StringPersistence persistence ) +int _libmsi_add_string( string_table *st, const WCHAR *data, int len, uint16_t refcount, enum StringPersistence persistence ) { unsigned n; WCHAR *str; @@ -314,7 +314,7 @@ int msi_addstringW( string_table *st, const WCHAR *data, int len, uint16_t refco if( !data[0] ) return 0; - if( msi_string2idW( st, data, &n ) == ERROR_SUCCESS ) + if( _libmsi_id_from_stringW( st, data, &n ) == ERROR_SUCCESS ) { if (persistence == StringPersistent) st->strings[n].persistent_refcount += refcount; @@ -359,7 +359,7 @@ const WCHAR *msi_string_lookup_id( const string_table *st, unsigned id ) } /* - * msi_id2stringA + * _libmsi_string_id * * [in] st - pointer to the string table * [in] id - id of the string to retrieve @@ -369,7 +369,7 @@ const WCHAR *msi_string_lookup_id( const string_table *st, unsigned id ) * * Returned string is not nul terminated. */ -static unsigned msi_id2stringA( const string_table *st, unsigned id, char *buffer, unsigned *sz ) +static unsigned _libmsi_string_id( const string_table *st, unsigned id, char *buffer, unsigned *sz ) { unsigned len, lenW; const WCHAR *str; @@ -392,13 +392,13 @@ static unsigned msi_id2stringA( const string_table *st, unsigned id, char *buffe } /* - * msi_string2idW + * _libmsi_id_from_stringW * * [in] st - pointer to the string table * [in] str - string to find in the string table * [out] id - id of the string, if found */ -unsigned msi_string2idW( const string_table *st, const WCHAR *str, unsigned *id ) +unsigned _libmsi_id_from_stringW( const string_table *st, const WCHAR *str, unsigned *id ) { int i, c, low = 0, high = st->sortcount - 1; @@ -612,7 +612,7 @@ unsigned msi_save_string_table( const string_table *st, IStorage *storage, unsig } sz = datasize - used; - r = msi_id2stringA( st, n, data+used, &sz ); + r = _libmsi_string_id( st, n, data+used, &sz ); if( r != ERROR_SUCCESS ) { ERR("failed to fetch string\n"); diff --git a/libmsi/suminfo.c b/libmsi/suminfo.c index 7d40b0f..5e4b068 100644 --- a/libmsi/suminfo.c +++ b/libmsi/suminfo.c @@ -93,7 +93,7 @@ static void free_prop( PROPVARIANT *prop ) prop->vt = VT_EMPTY; } -static void MSI_CloseSummaryInfo( LibmsiObject *arg ) +static void _libmsi_summary_info_destroy( LibmsiObject *arg ) { LibmsiSummaryInfo *si = (LibmsiSummaryInfo *) arg; unsigned i; @@ -432,7 +432,7 @@ static unsigned save_summary_info( const LibmsiSummaryInfo * si, IStream *stm ) return ERROR_SUCCESS; } -LibmsiSummaryInfo *MSI_GetSummaryInformation( IStorage *stg, unsigned uiUpdateCount ) +LibmsiSummaryInfo *_libmsi_get_summary_information( IStorage *stg, unsigned uiUpdateCount ) { IStream *stm = NULL; LibmsiSummaryInfo *si; @@ -441,7 +441,7 @@ LibmsiSummaryInfo *MSI_GetSummaryInformation( IStorage *stg, unsigned uiUpdateCo TRACE("%p %d\n", stg, uiUpdateCount ); - si = alloc_msiobject( sizeof (LibmsiSummaryInfo), MSI_CloseSummaryInfo ); + si = alloc_msiobject( sizeof (LibmsiSummaryInfo), _libmsi_summary_info_destroy ); if( !si ) return si; @@ -461,7 +461,7 @@ LibmsiSummaryInfo *MSI_GetSummaryInformation( IStorage *stg, unsigned uiUpdateCo return si; } -unsigned MsiGetSummaryInformation( LibmsiDatabase *db, +unsigned libmsi_database_get_summary_info( LibmsiDatabase *db, unsigned uiUpdateCount, LibmsiSummaryInfo **psi ) { LibmsiSummaryInfo *si; @@ -476,7 +476,7 @@ unsigned MsiGetSummaryInformation( LibmsiDatabase *db, return ERROR_INVALID_HANDLE; msiobj_addref( &db->hdr); - si = MSI_GetSummaryInformation( db->storage, uiUpdateCount ); + si = _libmsi_get_summary_information( db->storage, uiUpdateCount ); if (si) { *psi = si; @@ -487,7 +487,7 @@ unsigned MsiGetSummaryInformation( LibmsiDatabase *db, return ret; } -unsigned MsiSummaryInfoGetPropertyCount(LibmsiSummaryInfo *si, unsigned *pCount) +unsigned libmsi_summary_info_get_property_count(LibmsiSummaryInfo *si, unsigned *pCount) { TRACE("%d %p\n", si, pCount); @@ -502,7 +502,7 @@ unsigned MsiSummaryInfoGetPropertyCount(LibmsiSummaryInfo *si, unsigned *pCount) return ERROR_SUCCESS; } -unsigned MsiSummaryInfoGetProperty( +unsigned libmsi_summary_info_get_property( LibmsiSummaryInfo *si, unsigned uiProperty, unsigned *puiDataType, int *piValue, uint64_t *pftValue, char *szValueBuf, unsigned *pcchValueBuf) { @@ -593,7 +593,7 @@ WCHAR *msi_get_suminfo_product( IStorage *stg ) LibmsiSummaryInfo *si; WCHAR *prod; - si = MSI_GetSummaryInformation( stg, 0 ); + si = _libmsi_get_summary_information( stg, 0 ); if (!si) { ERR("no summary information!\n"); @@ -604,7 +604,7 @@ WCHAR *msi_get_suminfo_product( IStorage *stg ) return prod; } -unsigned MsiSummaryInfoSetProperty( LibmsiSummaryInfo *si, unsigned uiProperty, +unsigned libmsi_summary_info_set_property( LibmsiSummaryInfo *si, unsigned uiProperty, unsigned uiDataType, int iValue, uint64_t* pftValue, const char *szValue ) { PROPVARIANT *prop; @@ -780,7 +780,7 @@ unsigned msi_add_suminfo( LibmsiDatabase *db, WCHAR ***records, int num_records, unsigned i, j; LibmsiSummaryInfo *si; - si = MSI_GetSummaryInformation( db->storage, num_records * (num_columns / 2) ); + si = _libmsi_get_summary_information( db->storage, num_records * (num_columns / 2) ); if (!si) { ERR("no summary information!\n"); @@ -800,7 +800,7 @@ unsigned msi_add_suminfo( LibmsiDatabase *db, WCHAR ***records, int num_records, if (r != ERROR_SUCCESS) goto end; - r = MsiSummaryInfoSetProperty( si, pid, get_type(pid), int_value, &ft_value, str_value ); + r = libmsi_summary_info_set_property( si, pid, get_type(pid), int_value, &ft_value, str_value ); if (r != ERROR_SUCCESS) goto end; @@ -816,7 +816,7 @@ end: return r; } -unsigned MsiSummaryInfoPersist( LibmsiSummaryInfo *si ) +unsigned libmsi_summary_info_persist( LibmsiSummaryInfo *si ) { unsigned ret; diff --git a/libmsi/table.c b/libmsi/table.c index dab2d5f..ef04aaf 100644 --- a/libmsi/table.c +++ b/libmsi/table.c @@ -699,7 +699,7 @@ static unsigned get_tablecolumns( LibmsiDatabase *db, const WCHAR *szTableName, } /* convert table and column names to IDs from the string table */ - r = msi_string2idW( db->strings, szTableName, &table_id ); + r = _libmsi_id_from_stringW( db->strings, szTableName, &table_id ); if (r != ERROR_SUCCESS) { WARN("Couldn't find id for %s\n", debugstr_w(szTableName)); @@ -768,7 +768,7 @@ unsigned msi_create_table( LibmsiDatabase *db, const WCHAR *name, column_info *c unsigned i; /* only add tables that don't exist already */ - if( TABLE_Exists(db, name ) ) + if( table_view_exists(db, name ) ) { WARN("table %s exists\n", debugstr_w(name)); return ERROR_BAD_QUERY_SYNTAX; @@ -799,8 +799,8 @@ unsigned msi_create_table( LibmsiDatabase *db, const WCHAR *name, column_info *c for( i = 0, col = col_info; col; i++, col = col->next ) { - unsigned table_id = msi_addstringW( db->strings, col->table, -1, 1, string_persistence ); - unsigned col_id = msi_addstringW( db->strings, col->column, -1, 1, string_persistence ); + unsigned table_id = _libmsi_add_string( db->strings, col->table, -1, 1, string_persistence ); + unsigned col_id = _libmsi_add_string( db->strings, col->column, -1, 1, string_persistence ); table->colinfo[ i ].tablename = msi_string_lookup_id( db->strings, table_id ); table->colinfo[ i ].number = i + 1; @@ -813,7 +813,7 @@ unsigned msi_create_table( LibmsiDatabase *db, const WCHAR *name, column_info *c } table_calc_column_offsets( db, table->colinfo, table->col_count); - r = TABLE_CreateView( db, szTables, &tv ); + r = table_view_create( db, szTables, &tv ); TRACE("CreateView returned %x\n", r); if( r ) { @@ -826,11 +826,11 @@ unsigned msi_create_table( LibmsiDatabase *db, const WCHAR *name, column_info *c if( r ) goto err; - rec = MsiCreateRecord( 1 ); + rec = libmsi_record_create( 1 ); if( !rec ) goto err; - r = MSI_RecordSetStringW( rec, 1, name ); + r = _libmsi_record_set_stringW( rec, 1, name ); if( r ) goto err; @@ -848,7 +848,7 @@ unsigned msi_create_table( LibmsiDatabase *db, const WCHAR *name, column_info *c if( persistent != LIBMSI_CONDITION_FALSE ) { /* add each column to the _Columns table */ - r = TABLE_CreateView( db, szColumns, &tv ); + r = table_view_create( db, szColumns, &tv ); if( r ) return r; @@ -857,11 +857,11 @@ unsigned msi_create_table( LibmsiDatabase *db, const WCHAR *name, column_info *c if( r ) goto err; - rec = MsiCreateRecord( 4 ); + rec = libmsi_record_create( 4 ); if( !rec ) goto err; - r = MSI_RecordSetStringW( rec, 1, name ); + r = _libmsi_record_set_stringW( rec, 1, name ); if( r ) goto err; @@ -872,15 +872,15 @@ unsigned msi_create_table( LibmsiDatabase *db, const WCHAR *name, column_info *c nField = 1; for( col = col_info; col; col = col->next ) { - r = MsiRecordSetInteger( rec, 2, nField ); + r = libmsi_record_set_int( rec, 2, nField ); if( r ) goto err; - r = MSI_RecordSetStringW( rec, 3, col->column ); + r = _libmsi_record_set_stringW( rec, 3, col->column ); if( r ) goto err; - r = MsiRecordSetInteger( rec, 4, col->type ); + r = libmsi_record_set_int( rec, 4, col->type ); if( r ) goto err; @@ -1011,7 +1011,7 @@ static void msi_update_table_columns( LibmsiDatabase *db, const WCHAR *name ) } /* try to find the table name in the _Tables table */ -bool TABLE_Exists( LibmsiDatabase *db, const WCHAR *name ) +bool table_view_exists( LibmsiDatabase *db, const WCHAR *name ) { unsigned r, table_id, i; LibmsiTable *table; @@ -1020,7 +1020,7 @@ bool TABLE_Exists( LibmsiDatabase *db, const WCHAR *name ) !strcmpW( name, szStreams ) || !strcmpW( name, szStorages ) ) return true; - r = msi_string2idW( db->strings, name, &table_id ); + r = _libmsi_id_from_stringW( db->strings, name, &table_id ); if( r != ERROR_SUCCESS ) { TRACE("Couldn't find id for %s\n", debugstr_w(name)); @@ -1045,7 +1045,7 @@ bool TABLE_Exists( LibmsiDatabase *db, const WCHAR *name ) /* below is the query interface to a table */ -typedef struct LibmsiTableVIEW +typedef struct LibmsiTableView { LibmsiView view; LibmsiDatabase *db; @@ -1054,11 +1054,11 @@ typedef struct LibmsiTableVIEW unsigned num_cols; unsigned row_size; WCHAR name[1]; -} LibmsiTableVIEW; +} LibmsiTableView; -static unsigned TABLE_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned table_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; unsigned offset, n; if( !tv->table ) @@ -1093,7 +1093,7 @@ static unsigned TABLE_fetch_int( LibmsiView *view, unsigned row, unsigned col, u return ERROR_SUCCESS; } -static unsigned msi_stream_name( const LibmsiTableVIEW *tv, unsigned row, WCHAR **pstname ) +static unsigned msi_stream_name( const LibmsiTableView *tv, unsigned row, WCHAR **pstname ) { WCHAR *p; WCHAR *stname = NULL; @@ -1121,7 +1121,7 @@ static unsigned msi_stream_name( const LibmsiTableVIEW *tv, unsigned row, WCHAR { WCHAR number[0x20]; - r = TABLE_fetch_int( view, row, i+1, &ival ); + r = table_view_fetch_int( view, row, i+1, &ival ); if ( r != ERROR_SUCCESS ) goto err; @@ -1185,9 +1185,9 @@ err: * the name of the stream in the same table, and the table name * which may not be available at higher levels of the query */ -static unsigned TABLE_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm ) +static unsigned table_view_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; unsigned r; WCHAR *encname; WCHAR *full_name = NULL; @@ -1212,7 +1212,7 @@ static unsigned TABLE_fetch_stream( LibmsiView *view, unsigned row, unsigned col return r; } -static unsigned TABLE_set_int( LibmsiTableVIEW *tv, unsigned row, unsigned col, unsigned val ) +static unsigned table_view_set_int( LibmsiTableView *tv, unsigned row, unsigned col, unsigned val ) { unsigned offset, n, i; @@ -1249,9 +1249,9 @@ static unsigned TABLE_set_int( LibmsiTableVIEW *tv, unsigned row, unsigned col, return ERROR_SUCCESS; } -static unsigned TABLE_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) +static unsigned table_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW *)view; + LibmsiTableView *tv = (LibmsiTableView *)view; if (!tv->table) return ERROR_INVALID_PARAMETER; @@ -1259,7 +1259,7 @@ static unsigned TABLE_get_row( LibmsiView *view, unsigned row, LibmsiRecord **re return msi_view_get_row(tv->db, view, row, rec); } -static unsigned msi_addstreamW( LibmsiDatabase *db, const WCHAR *name, IStream *data ) +static unsigned _libmsi_add_stream( LibmsiDatabase *db, const WCHAR *name, IStream *data ) { static const WCHAR insert[] = { 'I','N','S','E','R','T',' ','I','N','T','O',' ', @@ -1272,23 +1272,23 @@ static unsigned msi_addstreamW( LibmsiDatabase *db, const WCHAR *name, IStream * TRACE("%p %s %p\n", db, debugstr_w(name), data); - rec = MsiCreateRecord( 2 ); + rec = libmsi_record_create( 2 ); if ( !rec ) return ERROR_OUTOFMEMORY; - r = MSI_RecordSetStringW( rec, 1, name ); + r = _libmsi_record_set_stringW( rec, 1, name ); if ( r != ERROR_SUCCESS ) goto err; - r = MSI_RecordSetIStream( rec, 2, data ); + r = _libmsi_record_set_IStream( rec, 2, data ); if ( r != ERROR_SUCCESS ) goto err; - r = MSI_DatabaseOpenQueryW( db, insert, &query ); + r = _libmsi_database_open_query( db, insert, &query ); if ( r != ERROR_SUCCESS ) goto err; - r = MSI_QueryExecute( query, rec ); + r = _libmsi_query_execute( query, rec ); err: msiobj_release( &query->hdr ); @@ -1296,14 +1296,14 @@ err: return r; } -static unsigned get_table_value_from_record( LibmsiTableVIEW *tv, LibmsiRecord *rec, unsigned iField, unsigned *pvalue ) +static unsigned get_table_value_from_record( LibmsiTableView *tv, LibmsiRecord *rec, unsigned iField, unsigned *pvalue ) { LibmsiColumnInfo columninfo; unsigned r; if ( (iField <= 0) || (iField > tv->num_cols) || - MsiRecordIsNull( rec, iField ) ) + libmsi_record_is_null( rec, iField ) ) return ERROR_FUNCTION_FAILED; columninfo = tv->columns[ iField - 1 ]; @@ -1314,10 +1314,10 @@ static unsigned get_table_value_from_record( LibmsiTableVIEW *tv, LibmsiRecord * } else if ( columninfo.type & MSITYPE_STRING ) { - const WCHAR *sval = MSI_RecordGetStringRaw( rec, iField ); + const WCHAR *sval = _libmsi_record_get_string_raw( rec, iField ); if (sval) { - r = msi_string2idW(tv->db->strings, sval, pvalue); + r = _libmsi_id_from_stringW(tv->db->strings, sval, pvalue); if (r != ERROR_SUCCESS) return ERROR_NOT_FOUND; } @@ -1325,7 +1325,7 @@ static unsigned get_table_value_from_record( LibmsiTableVIEW *tv, LibmsiRecord * } else if ( bytes_per_column( tv->db, &columninfo, LONG_STR_BYTES ) == 2 ) { - *pvalue = 0x8000 + MsiRecordGetInteger( rec, iField ); + *pvalue = 0x8000 + libmsi_record_get_integer( rec, iField ); if ( *pvalue & 0xffff0000 ) { ERR("field %u value %d out of range\n", iField, *pvalue - 0x8000); @@ -1334,16 +1334,16 @@ static unsigned get_table_value_from_record( LibmsiTableVIEW *tv, LibmsiRecord * } else { - int ival = MsiRecordGetInteger( rec, iField ); + int ival = libmsi_record_get_integer( rec, iField ); *pvalue = ival ^ 0x80000000; } return ERROR_SUCCESS; } -static unsigned TABLE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask ) +static unsigned table_view_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; unsigned i, val, r = ERROR_SUCCESS; if ( !tv->table ) @@ -1366,7 +1366,7 @@ static unsigned TABLE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec /* FIXME: should we allow updating keys? */ val = 0; - if ( !MsiRecordIsNull( rec, i + 1 ) ) + if ( !libmsi_record_is_null( rec, i + 1 ) ) { r = get_table_value_from_record (tv, rec, i + 1, &val); if ( MSITYPE_IS_BINARY(tv->columns[ i ].type) ) @@ -1377,7 +1377,7 @@ static unsigned TABLE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec if ( r != ERROR_SUCCESS ) return ERROR_FUNCTION_FAILED; - r = MSI_RecordGetIStream( rec, i + 1, &stm ); + r = _libmsi_record_get_IStream( rec, i + 1, &stm ); if ( r != ERROR_SUCCESS ) return r; @@ -1388,7 +1388,7 @@ static unsigned TABLE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec return r; } - r = msi_addstreamW( tv->db, stname, stm ); + r = _libmsi_add_stream( tv->db, stname, stm ); IStream_Release( stm ); msi_free ( stname ); @@ -1401,13 +1401,13 @@ static unsigned TABLE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec if ( r != ERROR_SUCCESS ) { - const WCHAR *sval = MSI_RecordGetStringRaw( rec, i + 1 ); - val = msi_addstringW( tv->db->strings, sval, -1, 1, + const WCHAR *sval = _libmsi_record_get_string_raw( rec, i + 1 ); + val = _libmsi_add_string( tv->db->strings, sval, -1, 1, persistent ? StringPersistent : StringNonPersistent ); } else { - TABLE_fetch_int(&tv->view, row, i + 1, &x); + table_view_fetch_int(&tv->view, row, i + 1, &x); if (val == x) continue; } @@ -1419,7 +1419,7 @@ static unsigned TABLE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec } } - r = TABLE_set_int( tv, row, i+1, val ); + r = table_view_set_int( tv, row, i+1, val ); if ( r != ERROR_SUCCESS ) break; } @@ -1428,7 +1428,7 @@ static unsigned TABLE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec static unsigned table_create_new_row( LibmsiView *view, unsigned *num, bool temporary ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; uint8_t **p, *row; bool *b; unsigned sz; @@ -1485,9 +1485,9 @@ static unsigned table_create_new_row( LibmsiView *view, unsigned *num, bool temp return ERROR_SUCCESS; } -static unsigned TABLE_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned table_view_execute( LibmsiView *view, LibmsiRecord *record ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; TRACE("%p %p\n", tv, record); @@ -1496,16 +1496,16 @@ static unsigned TABLE_execute( LibmsiView *view, LibmsiRecord *record ) return ERROR_SUCCESS; } -static unsigned TABLE_close( LibmsiView *view ) +static unsigned table_view_close( LibmsiView *view ) { TRACE("%p\n", view ); return ERROR_SUCCESS; } -static unsigned TABLE_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols) +static unsigned table_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; TRACE("%p %p %p\n", view, rows, cols ); @@ -1521,11 +1521,11 @@ static unsigned TABLE_get_dimensions( LibmsiView *view, unsigned *rows, unsigned return ERROR_SUCCESS; } -static unsigned TABLE_get_column_info( LibmsiView *view, +static unsigned table_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; TRACE("%p %d %p %p\n", tv, n, name, type ); @@ -1555,9 +1555,9 @@ static unsigned TABLE_get_column_info( LibmsiView *view, return ERROR_SUCCESS; } -static unsigned msi_table_find_row( LibmsiTableVIEW *tv, LibmsiRecord *rec, unsigned *row, unsigned *column ); +static unsigned msi_table_find_row( LibmsiTableView *tv, LibmsiRecord *rec, unsigned *row, unsigned *column ); -static unsigned table_validate_new( LibmsiTableVIEW *tv, LibmsiRecord *rec, unsigned *column ) +static unsigned table_validate_new( LibmsiTableView *tv, LibmsiRecord *rec, unsigned *column ) { unsigned r, row, i; @@ -1573,7 +1573,7 @@ static unsigned table_validate_new( LibmsiTableVIEW *tv, LibmsiRecord *rec, unsi { const WCHAR *str; - str = MSI_RecordGetStringRaw( rec, i+1 ); + str = _libmsi_record_get_string_raw( rec, i+1 ); if (str == NULL || str[0] == 0) { if (column) *column = i; @@ -1584,7 +1584,7 @@ static unsigned table_validate_new( LibmsiTableVIEW *tv, LibmsiRecord *rec, unsi { unsigned n; - n = MsiRecordGetInteger( rec, i+1 ); + n = libmsi_record_get_integer( rec, i+1 ); if (n == MSI_NULL_INTEGER) { if (column) *column = i; @@ -1601,7 +1601,7 @@ static unsigned table_validate_new( LibmsiTableVIEW *tv, LibmsiRecord *rec, unsi return ERROR_SUCCESS; } -static int compare_record( LibmsiTableVIEW *tv, unsigned row, LibmsiRecord *rec ) +static int compare_record( LibmsiTableView *tv, unsigned row, LibmsiRecord *rec ) { unsigned r, i, ivalue, x; @@ -1613,10 +1613,10 @@ static int compare_record( LibmsiTableVIEW *tv, unsigned row, LibmsiRecord *rec if (r != ERROR_SUCCESS) return 1; - r = TABLE_fetch_int( &tv->view, row, i + 1, &x ); + r = table_view_fetch_int( &tv->view, row, i + 1, &x ); if (r != ERROR_SUCCESS) { - WARN("TABLE_fetch_int should not fail here %u\n", r); + WARN("table_view_fetch_int should not fail here %u\n", r); return -1; } if (ivalue > x) @@ -1634,7 +1634,7 @@ static int compare_record( LibmsiTableVIEW *tv, unsigned row, LibmsiRecord *rec return 1; } -static int find_insert_index( LibmsiTableVIEW *tv, LibmsiRecord *rec ) +static int find_insert_index( LibmsiTableView *tv, LibmsiRecord *rec ) { int idx, c, low = 0, high = tv->table->row_count - 1; @@ -1659,9 +1659,9 @@ static int find_insert_index( LibmsiTableVIEW *tv, LibmsiRecord *rec ) return high + 1; } -static unsigned TABLE_insert_row( LibmsiView *view, LibmsiRecord *rec, unsigned row, bool temporary ) +static unsigned table_view_insert_row( LibmsiView *view, LibmsiRecord *rec, unsigned row, bool temporary ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; unsigned i, r; TRACE("%p %p %s\n", tv, rec, temporary ? "true" : "false" ); @@ -1689,12 +1689,12 @@ static unsigned TABLE_insert_row( LibmsiView *view, LibmsiRecord *rec, unsigned /* Re-set the persistence flag */ tv->table->data_persistent[row] = !temporary; - return TABLE_set_row( view, row, rec, (1<<tv->num_cols) - 1 ); + return table_view_set_row( view, row, rec, (1<<tv->num_cols) - 1 ); } -static unsigned TABLE_delete_row( LibmsiView *view, unsigned row ) +static unsigned table_view_delete_row( LibmsiView *view, unsigned row ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; unsigned r, num_rows, num_cols, i; TRACE("%p %d\n", tv, row); @@ -1702,7 +1702,7 @@ static unsigned TABLE_delete_row( LibmsiView *view, unsigned row ) if ( !tv->table ) return ERROR_INVALID_PARAMETER; - r = TABLE_get_dimensions( view, &num_rows, &num_cols ); + r = table_view_get_dimensions( view, &num_rows, &num_cols ); if ( r != ERROR_SUCCESS ) return r; @@ -1732,10 +1732,10 @@ static unsigned TABLE_delete_row( LibmsiView *view, unsigned row ) static unsigned msi_table_update(LibmsiView *view, LibmsiRecord *rec, unsigned row) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW *)view; + LibmsiTableView *tv = (LibmsiTableView *)view; unsigned r, new_row; - /* FIXME: MsiQueryFetch should set rec index 0 to some ID that + /* FIXME: libmsi_query_fetch should set rec index 0 to some ID that * sets the fetched record apart from other records */ @@ -1753,12 +1753,12 @@ static unsigned msi_table_update(LibmsiView *view, LibmsiRecord *rec, unsigned r if (row != new_row + 1) return ERROR_FUNCTION_FAILED; - return TABLE_set_row(view, new_row, rec, (1 << tv->num_cols) - 1); + return table_view_set_row(view, new_row, rec, (1 << tv->num_cols) - 1); } static unsigned msi_table_assign(LibmsiView *view, LibmsiRecord *rec) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW *)view; + LibmsiTableView *tv = (LibmsiTableView *)view; unsigned r, row; if (!tv->table) @@ -1766,21 +1766,21 @@ static unsigned msi_table_assign(LibmsiView *view, LibmsiRecord *rec) r = msi_table_find_row(tv, rec, &row, NULL); if (r == ERROR_SUCCESS) - return TABLE_set_row(view, row, rec, (1 << tv->num_cols) - 1); + return table_view_set_row(view, row, rec, (1 << tv->num_cols) - 1); else - return TABLE_insert_row( view, rec, -1, false ); + return table_view_insert_row( view, rec, -1, false ); } static unsigned modify_delete_row( LibmsiView *view, LibmsiRecord *rec ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW *)view; + LibmsiTableView *tv = (LibmsiTableView *)view; unsigned row, r; r = msi_table_find_row(tv, rec, &row, NULL); if (r != ERROR_SUCCESS) return r; - return TABLE_delete_row(view, row); + return table_view_delete_row(view, row); } static unsigned msi_refresh_record( LibmsiView *view, LibmsiRecord *rec, unsigned row ) @@ -1788,25 +1788,25 @@ static unsigned msi_refresh_record( LibmsiView *view, LibmsiRecord *rec, unsigne LibmsiRecord *curr; unsigned r, i, count; - r = TABLE_get_row(view, row - 1, &curr); + r = table_view_get_row(view, row - 1, &curr); if (r != ERROR_SUCCESS) return r; /* Close the original record */ - MSI_CloseRecord(&rec->hdr); + _libmsi_record_destroy(&rec->hdr); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); for (i = 0; i < count; i++) - MSI_RecordCopyField(curr, i + 1, rec, i + 1); + _libmsi_record_copy_field(curr, i + 1, rec, i + 1); msiobj_release(&curr->hdr); return ERROR_SUCCESS; } -static unsigned TABLE_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned table_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; unsigned r, frow, column; TRACE("%p %d %p\n", view, eModifyMode, rec ); @@ -1830,14 +1830,14 @@ static unsigned TABLE_modify( LibmsiView *view, LibmsiModify eModifyMode, r = table_validate_new( tv, rec, NULL ); if (r != ERROR_SUCCESS) break; - r = TABLE_insert_row( view, rec, -1, false ); + r = table_view_insert_row( view, rec, -1, false ); break; case LIBMSI_MODIFY_INSERT_TEMPORARY: r = table_validate_new( tv, rec, NULL ); if (r != ERROR_SUCCESS) break; - r = TABLE_insert_row( view, rec, -1, true ); + r = table_view_insert_row( view, rec, -1, true ); break; case LIBMSI_MODIFY_REFRESH: @@ -1859,7 +1859,7 @@ static unsigned TABLE_modify( LibmsiView *view, LibmsiModify eModifyMode, { r = table_validate_new( tv, rec, NULL ); if (r == ERROR_SUCCESS) - r = TABLE_insert_row( view, rec, -1, false ); + r = table_view_insert_row( view, rec, -1, false ); } break; @@ -1878,9 +1878,9 @@ static unsigned TABLE_modify( LibmsiView *view, LibmsiModify eModifyMode, return r; } -static unsigned TABLE_delete( LibmsiView *view ) +static unsigned table_view_delete( LibmsiView *view ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; TRACE("%p\n", view ); @@ -1892,10 +1892,10 @@ static unsigned TABLE_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned TABLE_find_matching_rows( LibmsiView *view, unsigned col, +static unsigned table_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; const LibmsiColumnHashEntry *entry; TRACE("%p, %d, %u, %p\n", view, col, val, *handle); @@ -1971,9 +1971,9 @@ static unsigned TABLE_find_matching_rows( LibmsiView *view, unsigned col, return ERROR_SUCCESS; } -static unsigned TABLE_add_ref(LibmsiView *view) +static unsigned table_view_add_ref(LibmsiView *view) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; unsigned i; TRACE("%p %d\n", view, tv->table->ref_count); @@ -1987,29 +1987,29 @@ static unsigned TABLE_add_ref(LibmsiView *view) return InterlockedIncrement(&tv->table->ref_count); } -static unsigned TABLE_remove_column(LibmsiView *view, const WCHAR *table, unsigned number) +static unsigned table_view_remove_column(LibmsiView *view, const WCHAR *table, unsigned number) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; LibmsiRecord *rec = NULL; LibmsiView *columns = NULL; unsigned row, r; - rec = MsiCreateRecord(2); + rec = libmsi_record_create(2); if (!rec) return ERROR_OUTOFMEMORY; - MSI_RecordSetStringW(rec, 1, table); - MsiRecordSetInteger(rec, 2, number); + _libmsi_record_set_stringW(rec, 1, table); + libmsi_record_set_int(rec, 2, number); - r = TABLE_CreateView(tv->db, szColumns, &columns); + r = table_view_create(tv->db, szColumns, &columns); if (r != ERROR_SUCCESS) return r; - r = msi_table_find_row((LibmsiTableVIEW *)columns, rec, &row, NULL); + r = msi_table_find_row((LibmsiTableView *)columns, rec, &row, NULL); if (r != ERROR_SUCCESS) goto done; - r = TABLE_delete_row(columns, row); + r = table_view_delete_row(columns, row); if (r != ERROR_SUCCESS) goto done; @@ -2021,9 +2021,9 @@ done: return r; } -static unsigned TABLE_release(LibmsiView *view) +static unsigned table_view_release(LibmsiView *view) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; int ref = tv->table->ref_count; unsigned i, r; @@ -2036,7 +2036,7 @@ static unsigned TABLE_release(LibmsiView *view) ref = InterlockedDecrement(&tv->table->colinfo[i].ref_count); if (ref == 0) { - r = TABLE_remove_column(view, tv->table->colinfo[i].tablename, + r = table_view_remove_column(view, tv->table->colinfo[i].tablename, tv->table->colinfo[i].number); if (r != ERROR_SUCCESS) break; @@ -2051,31 +2051,31 @@ static unsigned TABLE_release(LibmsiView *view) { list_remove(&tv->table->entry); free_table(tv->table); - TABLE_delete(view); + table_view_delete(view); } } return ref; } -static unsigned TABLE_add_column(LibmsiView *view, const WCHAR *table, unsigned number, +static unsigned table_view_add_column(LibmsiView *view, const WCHAR *table, unsigned number, const WCHAR *column, unsigned type, bool hold) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; LibmsiTable *msitable; LibmsiRecord *rec; unsigned r, i; - rec = MsiCreateRecord(4); + rec = libmsi_record_create(4); if (!rec) return ERROR_OUTOFMEMORY; - MSI_RecordSetStringW(rec, 1, table); - MsiRecordSetInteger(rec, 2, number); - MSI_RecordSetStringW(rec, 3, column); - MsiRecordSetInteger(rec, 4, type); + _libmsi_record_set_stringW(rec, 1, table); + libmsi_record_set_int(rec, 2, number); + _libmsi_record_set_stringW(rec, 3, column); + libmsi_record_set_int(rec, 4, type); - r = TABLE_insert_row(&tv->view, rec, -1, false); + r = table_view_insert_row(&tv->view, rec, -1, false); if (r != ERROR_SUCCESS) goto done; @@ -2099,9 +2099,9 @@ done: return r; } -static unsigned TABLE_drop(LibmsiView *view) +static unsigned table_view_drop(LibmsiView *view) { - LibmsiTableVIEW *tv = (LibmsiTableVIEW*)view; + LibmsiTableView *tv = (LibmsiTableView*)view; LibmsiView *tables = NULL; LibmsiRecord *rec = NULL; unsigned r, row; @@ -2111,27 +2111,27 @@ static unsigned TABLE_drop(LibmsiView *view) for (i = tv->table->col_count - 1; i >= 0; i--) { - r = TABLE_remove_column(view, tv->table->colinfo[i].tablename, + r = table_view_remove_column(view, tv->table->colinfo[i].tablename, tv->table->colinfo[i].number); if (r != ERROR_SUCCESS) return r; } - rec = MsiCreateRecord(1); + rec = libmsi_record_create(1); if (!rec) return ERROR_OUTOFMEMORY; - MSI_RecordSetStringW(rec, 1, tv->name); + _libmsi_record_set_stringW(rec, 1, tv->name); - r = TABLE_CreateView(tv->db, szTables, &tables); + r = table_view_create(tv->db, szTables, &tables); if (r != ERROR_SUCCESS) return r; - r = msi_table_find_row((LibmsiTableVIEW *)tables, rec, &row, NULL); + r = msi_table_find_row((LibmsiTableView *)tables, rec, &row, NULL); if (r != ERROR_SUCCESS) goto done; - r = TABLE_delete_row(tables, row); + r = table_view_delete_row(tables, row); if (r != ERROR_SUCCESS) goto done; @@ -2145,40 +2145,40 @@ done: return r; } -static const LibmsiViewOPS table_ops = -{ - TABLE_fetch_int, - TABLE_fetch_stream, - TABLE_get_row, - TABLE_set_row, - TABLE_insert_row, - TABLE_delete_row, - TABLE_execute, - TABLE_close, - TABLE_get_dimensions, - TABLE_get_column_info, - TABLE_modify, - TABLE_delete, - TABLE_find_matching_rows, - TABLE_add_ref, - TABLE_release, - TABLE_add_column, - TABLE_remove_column, +static const LibmsiViewOps table_ops = +{ + table_view_fetch_int, + table_view_fetch_stream, + table_view_get_row, + table_view_set_row, + table_view_insert_row, + table_view_delete_row, + table_view_execute, + table_view_close, + table_view_get_dimensions, + table_view_get_column_info, + table_view_modify, + table_view_delete, + table_view_find_matching_rows, + table_view_add_ref, + table_view_release, + table_view_add_column, + table_view_remove_column, NULL, - TABLE_drop, + table_view_drop, }; -unsigned TABLE_CreateView( LibmsiDatabase *db, const WCHAR *name, LibmsiView **view ) +unsigned table_view_create( LibmsiDatabase *db, const WCHAR *name, LibmsiView **view ) { - LibmsiTableVIEW *tv ; + LibmsiTableView *tv ; unsigned r, sz; TRACE("%p %s %p\n", db, debugstr_w(name), view ); if ( !strcmpW( name, szStreams ) ) - return STREAMS_CreateView( db, view ); + return streams_view_create( db, view ); else if ( !strcmpW( name, szStorages ) ) - return STORAGES_CreateView( db, view ); + return storages_view_create( db, view ); sz = sizeof *tv + strlenW(name)*sizeof name[0] ; tv = alloc_msiobject( sz, NULL ); @@ -2210,7 +2210,7 @@ unsigned TABLE_CreateView( LibmsiDatabase *db, const WCHAR *name, LibmsiView **v return ERROR_SUCCESS; } -unsigned MSI_CommitTables( LibmsiDatabase *db ) +unsigned _libmsi_database_commit_tables( LibmsiDatabase *db ) { unsigned r, bytes_per_strref; HRESULT hr; @@ -2245,7 +2245,7 @@ unsigned MSI_CommitTables( LibmsiDatabase *db ) return r; } -LibmsiCondition MSI_DatabaseIsTablePersistent( LibmsiDatabase *db, const WCHAR *table ) +LibmsiCondition _libmsi_database_is_table_persistent( LibmsiDatabase *db, const WCHAR *table ) { LibmsiTable *t; unsigned r; @@ -2272,7 +2272,7 @@ static unsigned read_raw_int(const uint8_t *data, unsigned col, unsigned bytes) return ret; } -static unsigned msi_record_encoded_stream_name( const LibmsiTableVIEW *tv, LibmsiRecord *rec, WCHAR **pstname ) +static unsigned msi_record_encoded_stream_name( const LibmsiTableView *tv, LibmsiRecord *rec, WCHAR **pstname ) { WCHAR *stname = NULL; WCHAR *sval; @@ -2332,7 +2332,7 @@ err: return r; } -static LibmsiRecord *msi_get_transform_record( const LibmsiTableVIEW *tv, const string_table *st, +static LibmsiRecord *msi_get_transform_record( const LibmsiTableView *tv, const string_table *st, IStorage *stg, const uint8_t *rawdata, unsigned bytes_per_strref ) { @@ -2344,7 +2344,7 @@ static LibmsiRecord *msi_get_transform_record( const LibmsiTableVIEW *tv, const mask = rawdata[0] | (rawdata[1] << 8); rawdata += 2; - rec = MsiCreateRecord( tv->num_cols ); + rec = libmsi_record_create( tv->num_cols ); if( !rec ) return rec; @@ -2377,7 +2377,7 @@ static LibmsiRecord *msi_get_transform_record( const LibmsiTableVIEW *tv, const return NULL; } - MSI_RecordSetStream( rec, i+1, stm ); + _libmsi_record_load_stream( rec, i+1, stm ); TRACE(" field %d [%s]\n", i+1, debugstr_w(encname)); msi_free( encname ); } @@ -2387,7 +2387,7 @@ static LibmsiRecord *msi_get_transform_record( const LibmsiTableVIEW *tv, const val = read_raw_int(rawdata, ofs, bytes_per_strref); sval = msi_string_lookup_id( st, val ); - MSI_RecordSetStringW( rec, i+1, sval ); + _libmsi_record_set_stringW( rec, i+1, sval ); TRACE(" field %d [%s]\n", i+1, debugstr_w(sval)); ofs += bytes_per_strref; } @@ -2399,13 +2399,13 @@ static LibmsiRecord *msi_get_transform_record( const LibmsiTableVIEW *tv, const case 2: val = read_raw_int(rawdata, ofs, n); if (val) - MsiRecordSetInteger( rec, i+1, val-0x8000 ); + libmsi_record_set_int( rec, i+1, val-0x8000 ); TRACE(" field %d [0x%04x]\n", i+1, val ); break; case 4: val = read_raw_int(rawdata, ofs, n); if (val) - MsiRecordSetInteger( rec, i+1, val^0x80000000 ); + libmsi_record_set_int( rec, i+1, val^0x80000000 ); TRACE(" field %d [0x%08x]\n", i+1, val ); break; default: @@ -2422,17 +2422,17 @@ static void dump_record( LibmsiRecord *rec ) { unsigned i, n; - n = MsiRecordGetFieldCount( rec ); + n = libmsi_record_get_field_count( rec ); for( i=1; i<=n; i++ ) { const WCHAR *sval; - if( MsiRecordIsNull( rec, i ) ) + if( libmsi_record_is_null( rec, i ) ) TRACE("row -> []\n"); - else if( (sval = MSI_RecordGetStringRaw( rec, i )) ) + else if( (sval = _libmsi_record_get_string_raw( rec, i )) ) TRACE("row -> [%s]\n", debugstr_w(sval)); else - TRACE("row -> [0x%08x]\n", MsiRecordGetInteger( rec, i ) ); + TRACE("row -> [0x%08x]\n", libmsi_record_get_integer( rec, i ) ); } } @@ -2448,7 +2448,7 @@ static void dump_table( const string_table *st, const uint16_t *rawdata, unsigne } } -static unsigned* msi_record_to_row( const LibmsiTableVIEW *tv, LibmsiRecord *rec ) +static unsigned* msi_record_to_row( const LibmsiTableView *tv, LibmsiRecord *rec ) { const WCHAR *str; unsigned i, r, *data; @@ -2465,10 +2465,10 @@ static unsigned* msi_record_to_row( const LibmsiTableVIEW *tv, LibmsiRecord *rec if ( ( tv->columns[i].type & MSITYPE_STRING ) && ! MSITYPE_IS_BINARY(tv->columns[i].type) ) { - str = MSI_RecordGetStringRaw( rec, i+1 ); + str = _libmsi_record_get_string_raw( rec, i+1 ); if (str) { - r = msi_string2idW( tv->db->strings, str, &data[i] ); + r = _libmsi_id_from_stringW( tv->db->strings, str, &data[i] ); /* if there's no matching string in the string table, these keys can't match any record, so fail now. */ @@ -2482,7 +2482,7 @@ static unsigned* msi_record_to_row( const LibmsiTableVIEW *tv, LibmsiRecord *rec } else { - data[i] = MsiRecordGetInteger( rec, i+1 ); + data[i] = libmsi_record_get_integer( rec, i+1 ); if (data[i] == MSI_NULL_INTEGER) data[i] = 0; @@ -2495,7 +2495,7 @@ static unsigned* msi_record_to_row( const LibmsiTableVIEW *tv, LibmsiRecord *rec return data; } -static unsigned msi_row_matches( LibmsiTableVIEW *tv, unsigned row, const unsigned *data, unsigned *column ) +static unsigned msi_row_matches( LibmsiTableView *tv, unsigned row, const unsigned *data, unsigned *column ) { unsigned i, r, x, ret = ERROR_FUNCTION_FAILED; @@ -2505,10 +2505,10 @@ static unsigned msi_row_matches( LibmsiTableVIEW *tv, unsigned row, const unsign continue; /* turn the transform column value into a row value */ - r = TABLE_fetch_int( &tv->view, row, i+1, &x ); + r = table_view_fetch_int( &tv->view, row, i+1, &x ); if ( r != ERROR_SUCCESS ) { - ERR("TABLE_fetch_int shouldn't fail here\n"); + ERR("table_view_fetch_int shouldn't fail here\n"); break; } @@ -2524,7 +2524,7 @@ static unsigned msi_row_matches( LibmsiTableVIEW *tv, unsigned row, const unsign return ret; } -static unsigned msi_table_find_row( LibmsiTableVIEW *tv, LibmsiRecord *rec, unsigned *row, unsigned *column ) +static unsigned msi_table_find_row( LibmsiTableView *tv, LibmsiRecord *rec, unsigned *row, unsigned *column ) { unsigned i, r = ERROR_FUNCTION_FAILED, *data; @@ -2555,7 +2555,7 @@ static unsigned msi_table_load_transform( LibmsiDatabase *db, IStorage *stg, unsigned bytes_per_strref ) { uint8_t *rawdata = NULL; - LibmsiTableVIEW *tv = NULL; + LibmsiTableView *tv = NULL; unsigned r, n, sz, i, mask, num_cols, colcol = 0, rawsize = 0; LibmsiRecord *rec = NULL; WCHAR coltable[32]; @@ -2578,7 +2578,7 @@ static unsigned msi_table_load_transform( LibmsiDatabase *db, IStorage *stg, } /* create a table view */ - r = TABLE_CreateView( db, name, (LibmsiView**) &tv ); + r = table_view_create( db, name, (LibmsiView**) &tv ); if( r != ERROR_SUCCESS ) goto err; @@ -2653,8 +2653,8 @@ static unsigned msi_table_load_transform( LibmsiDatabase *db, IStorage *stg, if (!strcmpW( name, szColumns )) { - MSI_RecordGetStringW( rec, 1, table, &sz ); - number = MsiRecordGetInteger( rec, 2 ); + _libmsi_record_get_stringW( rec, 1, table, &sz ); + number = libmsi_record_get_integer( rec, 2 ); /* * Native msi seems writes nul into the Number (2nd) column of @@ -2670,7 +2670,7 @@ static unsigned msi_table_load_transform( LibmsiDatabase *db, IStorage *stg, } /* fix nul column numbers */ - MsiRecordSetInteger( rec, 2, ++colcol ); + libmsi_record_set_int( rec, 2, ++colcol ); } } @@ -2682,21 +2682,21 @@ static unsigned msi_table_load_transform( LibmsiDatabase *db, IStorage *stg, if (!mask) { TRACE("deleting row [%d]:\n", row); - r = TABLE_delete_row( &tv->view, row ); + r = table_view_delete_row( &tv->view, row ); if (r != ERROR_SUCCESS) WARN("failed to delete row %u\n", r); } else if (mask & 1) { TRACE("modifying full row [%d]:\n", row); - r = TABLE_set_row( &tv->view, row, rec, (1 << tv->num_cols) - 1 ); + r = table_view_set_row( &tv->view, row, rec, (1 << tv->num_cols) - 1 ); if (r != ERROR_SUCCESS) WARN("failed to modify row %u\n", r); } else { TRACE("modifying masked row [%d]:\n", row); - r = TABLE_set_row( &tv->view, row, rec, mask ); + r = table_view_set_row( &tv->view, row, rec, mask ); if (r != ERROR_SUCCESS) WARN("failed to modify row %u\n", r); } @@ -2704,7 +2704,7 @@ static unsigned msi_table_load_transform( LibmsiDatabase *db, IStorage *stg, else { TRACE("inserting row\n"); - r = TABLE_insert_row( &tv->view, rec, -1, false ); + r = table_view_insert_row( &tv->view, rec, -1, false ); if (r != ERROR_SUCCESS) WARN("failed to insert row %u\n", r); } @@ -2758,7 +2758,7 @@ unsigned msi_table_apply_transform( LibmsiDatabase *db, IStorage *stg ) while ( true ) { - LibmsiTableVIEW *tv = NULL; + LibmsiTableView *tv = NULL; WCHAR name[0x40]; unsigned count = 0; @@ -2791,7 +2791,7 @@ unsigned msi_table_apply_transform( LibmsiDatabase *db, IStorage *stg ) TRACE("transform contains stream %s\n", debugstr_w(name)); /* load the table */ - r = TABLE_CreateView( db, transform->name, (LibmsiView**) &tv ); + r = table_view_create( db, transform->name, (LibmsiView**) &tv ); if( r != ERROR_SUCCESS ) continue; diff --git a/libmsi/tokenize.c b/libmsi/tokenize.c index 0ddf14e..007411e 100644 --- a/libmsi/tokenize.c +++ b/libmsi/tokenize.c @@ -87,7 +87,7 @@ static const Keyword aKeywordTable[] = { /* ** Comparison function for binary search. */ -static int compKeyword(const void *m1, const void *m2){ +static int sql_compare_keyword(const void *m1, const void *m2){ const WCHAR *p = m1; const Keyword *k = m2; const char *q = k->zName; @@ -111,7 +111,7 @@ static int compKeyword(const void *m1, const void *m2){ ** keyword. If it is a keyword, the token code of that keyword is ** returned. If the input is not a keyword, TK_ID is returned. */ -static int sqliteKeywordCode(const WCHAR *z, int n){ +static int sqlite_find_keyword(const WCHAR *z, int n){ WCHAR str[MAX_TOKEN_LEN+1]; Keyword *r; @@ -120,7 +120,7 @@ static int sqliteKeywordCode(const WCHAR *z, int n){ memcpy( str, z, n*sizeof (WCHAR) ); str[n] = 0; - r = bsearch( str, aKeywordTable, KEYWORD_COUNT, sizeof (Keyword), compKeyword ); + r = bsearch( str, aKeywordTable, KEYWORD_COUNT, sizeof (Keyword), sql_compare_keyword ); if( r ) return r->tokenType; return TK_ID; @@ -163,7 +163,7 @@ static const char isIdChar[] = { ** -1 if the token is (or might be) incomplete. Store the token ** type in *tokenType before returning. */ -int sqliteGetToken(const WCHAR *z, int *tokenType, int *skip){ +int sql_get_token(const WCHAR *z, int *tokenType, int *skip){ int i; *skip = 0; @@ -254,7 +254,7 @@ int sqliteGetToken(const WCHAR *z, int *tokenType, int *skip){ break; } for(i=1; isIdChar[z[i]]; i++){} - *tokenType = sqliteKeywordCode(z, i); + *tokenType = sqlite_find_keyword(z, i); if( *tokenType == TK_ID && z[i] == '`' ) *skip = 1; return i; } diff --git a/libmsi/update.c b/libmsi/update.c index 2b57ebd..0f9979d 100644 --- a/libmsi/update.c +++ b/libmsi/update.c @@ -44,7 +44,7 @@ typedef struct LibmsiUpdateView column_info *vals; } LibmsiUpdateView; -static unsigned UPDATE_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned update_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiUpdateView *uv = (LibmsiUpdateView*)view; @@ -53,7 +53,7 @@ static unsigned UPDATE_fetch_int( LibmsiView *view, unsigned row, unsigned col, return ERROR_FUNCTION_FAILED; } -static unsigned UPDATE_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned update_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiUpdateView *uv = (LibmsiUpdateView*)view; unsigned i, r, col_count = 0, row_count = 0; @@ -68,7 +68,7 @@ static unsigned UPDATE_execute( LibmsiView *view, LibmsiRecord *record ) /* extract the where markers from the record */ if (record) { - r = MsiRecordGetFieldCount(record); + r = libmsi_record_get_field_count(record); for (i = 0; col; col = col->next) i++; @@ -78,11 +78,11 @@ static unsigned UPDATE_execute( LibmsiView *view, LibmsiRecord *record ) if (where_count > 0) { - where = MsiCreateRecord(where_count); + where = libmsi_record_create(where_count); if (where) for (i = 1; i <= where_count; i++) - MSI_RecordCopyField(record, cols_count + i, where, i); + _libmsi_record_copy_field(record, cols_count + i, where, i); } } @@ -124,7 +124,7 @@ done: } -static unsigned UPDATE_close( LibmsiView *view ) +static unsigned update_view_close( LibmsiView *view ) { LibmsiUpdateView *uv = (LibmsiUpdateView*)view; LibmsiView *wv; @@ -138,7 +138,7 @@ static unsigned UPDATE_close( LibmsiView *view ) return wv->ops->close( wv ); } -static unsigned UPDATE_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned update_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiUpdateView *uv = (LibmsiUpdateView*)view; LibmsiView *wv; @@ -152,7 +152,7 @@ static unsigned UPDATE_get_dimensions( LibmsiView *view, unsigned *rows, unsigne return wv->ops->get_dimensions( wv, rows, cols ); } -static unsigned UPDATE_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned update_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiUpdateView *uv = (LibmsiUpdateView*)view; @@ -167,7 +167,7 @@ static unsigned UPDATE_get_column_info( LibmsiView *view, unsigned n, const WCHA return wv->ops->get_column_info( wv, n, name, type, temporary, table_name ); } -static unsigned UPDATE_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned update_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row ) { LibmsiUpdateView *uv = (LibmsiUpdateView*)view; @@ -177,7 +177,7 @@ static unsigned UPDATE_modify( LibmsiView *view, LibmsiModify eModifyMode, return ERROR_FUNCTION_FAILED; } -static unsigned UPDATE_delete( LibmsiView *view ) +static unsigned update_view_delete( LibmsiView *view ) { LibmsiUpdateView *uv = (LibmsiUpdateView*)view; LibmsiView *wv; @@ -193,7 +193,7 @@ static unsigned UPDATE_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned UPDATE_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) +static unsigned update_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { TRACE("%p %d %d %p\n", view, col, val, *handle ); @@ -201,21 +201,21 @@ static unsigned UPDATE_find_matching_rows( LibmsiView *view, unsigned col, unsig } -static const LibmsiViewOPS update_ops = +static const LibmsiViewOps update_ops = { - UPDATE_fetch_int, + update_view_fetch_int, NULL, NULL, NULL, NULL, NULL, - UPDATE_execute, - UPDATE_close, - UPDATE_get_dimensions, - UPDATE_get_column_info, - UPDATE_modify, - UPDATE_delete, - UPDATE_find_matching_rows, + update_view_execute, + update_view_close, + update_view_get_dimensions, + update_view_get_column_info, + update_view_modify, + update_view_delete, + update_view_find_matching_rows, NULL, NULL, NULL, @@ -223,7 +223,7 @@ static const LibmsiViewOPS update_ops = NULL, }; -unsigned UPDATE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *table, +unsigned update_view_create( LibmsiDatabase *db, LibmsiView **view, WCHAR *table, column_info *columns, struct expr *expr ) { LibmsiUpdateView *uv = NULL; @@ -233,15 +233,15 @@ unsigned UPDATE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *table, TRACE("%p\n", uv ); if (expr) - r = WHERE_CreateView( db, &wv, table, expr ); + r = where_view_create( db, &wv, table, expr ); else - r = TABLE_CreateView( db, table, &wv ); + r = table_view_create( db, table, &wv ); if( r != ERROR_SUCCESS ) return r; /* then select the columns we want */ - r = SELECT_CreateView( db, &sv, wv, columns ); + r = select_view_create( db, &sv, wv, columns ); if( r != ERROR_SUCCESS ) { wv->ops->delete( wv ); diff --git a/libmsi/where.c b/libmsi/where.c index b8989d5..2689e6b 100644 --- a/libmsi/where.c +++ b/libmsi/where.c @@ -74,7 +74,7 @@ typedef struct LibmsiWhereView LibmsiOrderInfo *order_info; } LibmsiWhereView; -static unsigned WHERE_evaluate( LibmsiWhereView *wv, const unsigned rows[], +static unsigned where_view_evaluate( LibmsiWhereView *wv, const unsigned rows[], struct expr *cond, int *val, LibmsiRecord *record ); #define INITIAL_REORDER_SIZE 16 @@ -212,7 +212,7 @@ static unsigned parse_column(LibmsiWhereView *wv, union ext_column *column, return ERROR_BAD_QUERY_SYNTAX; } -static unsigned WHERE_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) +static unsigned where_view_fetch_int( LibmsiView *view, unsigned row, unsigned col, unsigned *val ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; JOINTABLE *table; @@ -235,7 +235,7 @@ static unsigned WHERE_fetch_int( LibmsiView *view, unsigned row, unsigned col, u return table->view->ops->fetch_int(table->view, rows[table->table_index], col, val); } -static unsigned WHERE_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm ) +static unsigned where_view_fetch_stream( LibmsiView *view, unsigned row, unsigned col, IStream **stm ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; JOINTABLE *table; @@ -258,7 +258,7 @@ static unsigned WHERE_fetch_stream( LibmsiView *view, unsigned row, unsigned col return table->view->ops->fetch_stream( table->view, rows[table->table_index], col, stm ); } -static unsigned WHERE_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) +static unsigned where_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord **rec ) { LibmsiWhereView *wv = (LibmsiWhereView *)view; @@ -270,7 +270,7 @@ static unsigned WHERE_get_row( LibmsiView *view, unsigned row, LibmsiRecord **re return msi_view_get_row( wv->db, view, row, rec ); } -static unsigned WHERE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask ) +static unsigned where_view_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec, unsigned mask ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; unsigned i, r, offset = 0; @@ -323,13 +323,13 @@ static unsigned WHERE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec continue; } - reduced = MsiCreateRecord(col_count); + reduced = libmsi_record_create(col_count); if (!reduced) return ERROR_FUNCTION_FAILED; for (i = 1; i <= col_count; i++) { - r = MSI_RecordCopyField(rec, i + offset, reduced, i); + r = _libmsi_record_copy_field(rec, i + offset, reduced, i); if (r != ERROR_SUCCESS) break; } @@ -345,7 +345,7 @@ static unsigned WHERE_set_row( LibmsiView *view, unsigned row, LibmsiRecord *rec return r; } -static unsigned WHERE_delete_row(LibmsiView *view, unsigned row) +static unsigned where_view_delete_row(LibmsiView *view, unsigned row) { LibmsiWhereView *wv = (LibmsiWhereView *)view; unsigned r; @@ -366,16 +366,16 @@ static unsigned WHERE_delete_row(LibmsiView *view, unsigned row) return wv->tables->view->ops->delete_row(wv->tables->view, rows[0]); } -static int INT_evaluate_binary( LibmsiWhereView *wv, const unsigned rows[], +static int expr_eval_binary( LibmsiWhereView *wv, const unsigned rows[], const struct complex_expr *expr, int *val, LibmsiRecord *record ) { unsigned rl, rr; int lval, rval; - rl = WHERE_evaluate(wv, rows, expr->left, &lval, record); + rl = where_view_evaluate(wv, rows, expr->left, &lval, record); if (rl != ERROR_SUCCESS && rl != ERROR_CONTINUE) return rl; - rr = WHERE_evaluate(wv, rows, expr->right, &rval, record); + rr = where_view_evaluate(wv, rows, expr->right, &rval, record); if (rr != ERROR_SUCCESS && rr != ERROR_CONTINUE) return rr; @@ -456,7 +456,7 @@ static inline unsigned expr_fetch_value(const union ext_column *expr, const unsi } -static unsigned INT_evaluate_unary( LibmsiWhereView *wv, const unsigned rows[], +static unsigned expr_eval_unary( LibmsiWhereView *wv, const unsigned rows[], const struct complex_expr *expr, int *val, LibmsiRecord *record ) { unsigned r; @@ -481,7 +481,7 @@ static unsigned INT_evaluate_unary( LibmsiWhereView *wv, const unsigned rows[], return ERROR_SUCCESS; } -static unsigned STRING_evaluate( LibmsiWhereView *wv, const unsigned rows[], +static unsigned expr_eval_string( LibmsiWhereView *wv, const unsigned rows[], const struct expr *expr, const LibmsiRecord *record, const WCHAR **str ) @@ -503,7 +503,7 @@ static unsigned STRING_evaluate( LibmsiWhereView *wv, const unsigned rows[], break; case EXPR_WILDCARD: - *str = MSI_RecordGetStringRaw(record, ++wv->rec_index); + *str = _libmsi_record_get_string_raw(record, ++wv->rec_index); break; default: @@ -515,7 +515,7 @@ static unsigned STRING_evaluate( LibmsiWhereView *wv, const unsigned rows[], return r; } -static unsigned STRCMP_Evaluate( LibmsiWhereView *wv, const unsigned rows[], const struct complex_expr *expr, +static unsigned expr_eval_strcmp( LibmsiWhereView *wv, const unsigned rows[], const struct complex_expr *expr, int *val, const LibmsiRecord *record ) { int sr; @@ -523,10 +523,10 @@ static unsigned STRCMP_Evaluate( LibmsiWhereView *wv, const unsigned rows[], con unsigned r; *val = true; - r = STRING_evaluate(wv, rows, expr->left, record, &l_str); + r = expr_eval_string(wv, rows, expr->left, record, &l_str); if (r == ERROR_CONTINUE) return r; - r = STRING_evaluate(wv, rows, expr->right, record, &r_str); + r = expr_eval_string(wv, rows, expr->right, record, &r_str); if (r == ERROR_CONTINUE) return r; @@ -546,7 +546,7 @@ static unsigned STRCMP_Evaluate( LibmsiWhereView *wv, const unsigned rows[], con return ERROR_SUCCESS; } -static unsigned WHERE_evaluate( LibmsiWhereView *wv, const unsigned rows[], +static unsigned where_view_evaluate( LibmsiWhereView *wv, const unsigned rows[], struct expr *cond, int *val, LibmsiRecord *record ) { unsigned r, tval; @@ -578,16 +578,16 @@ static unsigned WHERE_evaluate( LibmsiWhereView *wv, const unsigned rows[], return ERROR_SUCCESS; case EXPR_COMPLEX: - return INT_evaluate_binary(wv, rows, &cond->u.expr, val, record); + return expr_eval_binary(wv, rows, &cond->u.expr, val, record); case EXPR_UNARY: - return INT_evaluate_unary( wv, rows, &cond->u.expr, val, record ); + return expr_eval_unary( wv, rows, &cond->u.expr, val, record ); case EXPR_STRCMP: - return STRCMP_Evaluate( wv, rows, &cond->u.expr, val, record ); + return expr_eval_strcmp( wv, rows, &cond->u.expr, val, record ); case EXPR_WILDCARD: - *val = MsiRecordGetInteger( record, ++wv->rec_index ); + *val = libmsi_record_get_integer( record, ++wv->rec_index ); return ERROR_SUCCESS; default: @@ -610,7 +610,7 @@ static unsigned check_condition( LibmsiWhereView *wv, LibmsiRecord *record, JOIN { val = 0; wv->rec_index = 0; - r = WHERE_evaluate( wv, table_rows, wv->cond, &val, record ); + r = where_view_evaluate( wv, table_rows, wv->cond, &val, record ); if (r != ERROR_SUCCESS && r != ERROR_CONTINUE) break; if (val) @@ -762,7 +762,7 @@ static JOINTABLE **ordertables( LibmsiWhereView *wv ) return tables; } -static unsigned WHERE_execute( LibmsiView *view, LibmsiRecord *record ) +static unsigned where_view_execute( LibmsiView *view, LibmsiRecord *record ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; unsigned r; @@ -818,7 +818,7 @@ static unsigned WHERE_execute( LibmsiView *view, LibmsiRecord *record ) return r; } -static unsigned WHERE_close( LibmsiView *view ) +static unsigned where_view_close( LibmsiView *view ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; JOINTABLE *table = wv->tables; @@ -835,7 +835,7 @@ static unsigned WHERE_close( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned WHERE_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) +static unsigned where_view_get_dimensions( LibmsiView *view, unsigned *rows, unsigned *cols ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; @@ -857,7 +857,7 @@ static unsigned WHERE_get_dimensions( LibmsiView *view, unsigned *rows, unsigned return ERROR_SUCCESS; } -static unsigned WHERE_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, +static unsigned where_view_get_column_info( LibmsiView *view, unsigned n, const WCHAR **name, unsigned *type, bool *temporary, const WCHAR **table_name ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; @@ -881,14 +881,14 @@ static unsigned join_find_row( LibmsiWhereView *wv, LibmsiRecord *rec, unsigned const WCHAR *str; unsigned r, i, id, data; - str = MSI_RecordGetStringRaw( rec, 1 ); - r = msi_string2idW( wv->db->strings, str, &id ); + str = _libmsi_record_get_string_raw( rec, 1 ); + r = _libmsi_id_from_stringW( wv->db->strings, str, &id ); if (r != ERROR_SUCCESS) return r; for (i = 0; i < wv->row_count; i++) { - WHERE_fetch_int( &wv->view, i, 1, &data ); + where_view_fetch_int( &wv->view, i, 1, &data ); if (data == id) { @@ -915,19 +915,19 @@ static unsigned join_modify_update( LibmsiView *view, LibmsiRecord *rec ) if (r != ERROR_SUCCESS) return r; - assert(MsiRecordGetFieldCount(rec) == MsiRecordGetFieldCount(current)); + assert(libmsi_record_get_field_count(rec) == libmsi_record_get_field_count(current)); - for (i = MsiRecordGetFieldCount(rec); i > 0; i--) + for (i = libmsi_record_get_field_count(rec); i > 0; i--) { - if (!MSI_RecordsAreFieldsEqual(rec, current, i)) + if (!_libmsi_record_compare_fields(rec, current, i)) mask |= 1 << (i - 1); } msiobj_release(¤t->hdr); - return WHERE_set_row( view, row, rec, mask ); + return where_view_set_row( view, row, rec, mask ); } -static unsigned WHERE_modify( LibmsiView *view, LibmsiModify eModifyMode, +static unsigned where_view_modify( LibmsiView *view, LibmsiModify eModifyMode, LibmsiRecord *rec, unsigned row ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; @@ -983,7 +983,7 @@ static unsigned WHERE_modify( LibmsiView *view, LibmsiModify eModifyMode, return r; } -static unsigned WHERE_delete( LibmsiView *view ) +static unsigned where_view_delete( LibmsiView *view ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; JOINTABLE *table = wv->tables; @@ -1014,7 +1014,7 @@ static unsigned WHERE_delete( LibmsiView *view ) return ERROR_SUCCESS; } -static unsigned WHERE_find_matching_rows( LibmsiView *view, unsigned col, +static unsigned where_view_find_matching_rows( LibmsiView *view, unsigned col, unsigned val, unsigned *row, MSIITERHANDLE *handle ) { LibmsiWhereView *wv = (LibmsiWhereView*)view; @@ -1044,7 +1044,7 @@ static unsigned WHERE_find_matching_rows( LibmsiView *view, unsigned col, return ERROR_NO_MORE_ITEMS; } -static unsigned WHERE_sort(LibmsiView *view, column_info *columns) +static unsigned where_view_sort(LibmsiView *view, column_info *columns) { LibmsiWhereView *wv = (LibmsiWhereView *)view; JOINTABLE *table = wv->tables; @@ -1093,30 +1093,30 @@ error: return r; } -static const LibmsiViewOPS where_ops = +static const LibmsiViewOps where_ops = { - WHERE_fetch_int, - WHERE_fetch_stream, - WHERE_get_row, - WHERE_set_row, + where_view_fetch_int, + where_view_fetch_stream, + where_view_get_row, + where_view_set_row, NULL, - WHERE_delete_row, - WHERE_execute, - WHERE_close, - WHERE_get_dimensions, - WHERE_get_column_info, - WHERE_modify, - WHERE_delete, - WHERE_find_matching_rows, + where_view_delete_row, + where_view_execute, + where_view_close, + where_view_get_dimensions, + where_view_get_column_info, + where_view_modify, + where_view_delete, + where_view_find_matching_rows, NULL, NULL, NULL, NULL, - WHERE_sort, + where_view_sort, NULL, }; -static unsigned WHERE_VerifyCondition( LibmsiWhereView *wv, struct expr *cond, +static unsigned where_view_verify_condition( LibmsiWhereView *wv, struct expr *cond, unsigned *valid ) { unsigned r; @@ -1144,12 +1144,12 @@ static unsigned WHERE_VerifyCondition( LibmsiWhereView *wv, struct expr *cond, break; } case EXPR_COMPLEX: - r = WHERE_VerifyCondition( wv, cond->u.expr.left, valid ); + r = where_view_verify_condition( wv, cond->u.expr.left, valid ); if( r != ERROR_SUCCESS ) return r; if( !*valid ) return ERROR_SUCCESS; - r = WHERE_VerifyCondition( wv, cond->u.expr.right, valid ); + r = where_view_verify_condition( wv, cond->u.expr.right, valid ); if( r != ERROR_SUCCESS ) return r; @@ -1181,7 +1181,7 @@ static unsigned WHERE_VerifyCondition( LibmsiWhereView *wv, struct expr *cond, *valid = false; return ERROR_INVALID_PARAMETER; } - r = WHERE_VerifyCondition( wv, cond->u.expr.left, valid ); + r = where_view_verify_condition( wv, cond->u.expr.left, valid ); if( r != ERROR_SUCCESS ) return r; break; @@ -1205,7 +1205,7 @@ static unsigned WHERE_VerifyCondition( LibmsiWhereView *wv, struct expr *cond, return ERROR_SUCCESS; } -unsigned WHERE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *tables, +unsigned where_view_create( LibmsiDatabase *db, LibmsiView **view, WCHAR *tables, struct expr *cond ) { LibmsiWhereView *wv = NULL; @@ -1238,7 +1238,7 @@ unsigned WHERE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *tables, goto end; } - r = TABLE_CreateView(db, tables, &table->view); + r = table_view_create(db, tables, &table->view); if (r != ERROR_SUCCESS) { WARN("can't create table: %s\n", debugstr_w(tables)); @@ -1269,7 +1269,7 @@ unsigned WHERE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *tables, if( cond ) { - r = WHERE_VerifyCondition( wv, cond, &valid ); + r = where_view_verify_condition( wv, cond, &valid ); if( r != ERROR_SUCCESS ) goto end; if( !valid ) { @@ -1282,7 +1282,7 @@ unsigned WHERE_CreateView( LibmsiDatabase *db, LibmsiView **view, WCHAR *tables, return ERROR_SUCCESS; end: - WHERE_delete(&wv->view); + where_view_delete(&wv->view); return r; } diff --git a/tests/testdatabase.c b/tests/testdatabase.c index ca03659..f0e546b 100644 --- a/tests/testdatabase.c +++ b/tests/testdatabase.c @@ -44,98 +44,98 @@ static void test_msidatabase(void) DeleteFile(msifile); - res = MsiOpenDatabase( msifile, msifile2, &hdb ); + res = libmsi_database_open( msifile, msifile2, &hdb ); ok( res == ERROR_OPEN_FAILED, "expected failure\n"); - res = MsiOpenDatabase( msifile, (LPSTR) 0xff, &hdb ); + res = libmsi_database_open( msifile, (LPSTR) 0xff, &hdb ); ok( res == ERROR_INVALID_PARAMETER, "expected failure\n"); - res = MsiCloseHandle( hdb ); + res = libmsi_unref( hdb ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); /* create an empty database */ - res = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); + res = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( res == ERROR_SUCCESS , "Failed to create database\n" ); - res = MsiDatabaseCommit( hdb ); + res = libmsi_database_commit( hdb ); ok( res == ERROR_SUCCESS , "Failed to commit database\n" ); ok( INVALID_FILE_ATTRIBUTES != GetFileAttributes( msifile ), "database should exist\n"); - res = MsiCloseHandle( hdb ); + res = libmsi_unref( hdb ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); - res = MsiOpenDatabase( msifile, msifile2, &hdb2 ); + res = libmsi_database_open( msifile, msifile2, &hdb2 ); ok( res == ERROR_SUCCESS , "Failed to open database\n" ); ok( INVALID_FILE_ATTRIBUTES != GetFileAttributes( msifile2 ), "database should exist\n"); - res = MsiDatabaseCommit( hdb2 ); + res = libmsi_database_commit( hdb2 ); ok( res == ERROR_SUCCESS , "Failed to commit database\n" ); - res = MsiCloseHandle( hdb2 ); + res = libmsi_unref( hdb2 ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); - res = MsiOpenDatabase( msifile, msifile2, &hdb2 ); + res = libmsi_database_open( msifile, msifile2, &hdb2 ); ok( res == ERROR_SUCCESS , "Failed to open database\n" ); - res = MsiCloseHandle( hdb2 ); + res = libmsi_unref( hdb2 ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); ok( INVALID_FILE_ATTRIBUTES == GetFileAttributes( msifile2 ), "uncommitted database should not exist\n"); - res = MsiOpenDatabase( msifile, msifile2, &hdb2 ); + res = libmsi_database_open( msifile, msifile2, &hdb2 ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); - res = MsiDatabaseCommit( hdb2 ); + res = libmsi_database_commit( hdb2 ); ok( res == ERROR_SUCCESS , "Failed to commit database\n" ); - res = MsiCloseHandle( hdb2 ); + res = libmsi_unref( hdb2 ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); ok( INVALID_FILE_ATTRIBUTES != GetFileAttributes( msifile2 ), "committed database should exist\n"); - res = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_READONLY, &hdb ); + res = libmsi_database_open( msifile, LIBMSI_DB_OPEN_READONLY, &hdb ); ok( res == ERROR_SUCCESS , "Failed to open database\n" ); - res = MsiDatabaseCommit( hdb ); + res = libmsi_database_commit( hdb ); ok( res == ERROR_SUCCESS , "Failed to commit database\n" ); - res = MsiCloseHandle( hdb ); + res = libmsi_unref( hdb ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); - res = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_DIRECT, &hdb ); + res = libmsi_database_open( msifile, LIBMSI_DB_OPEN_DIRECT, &hdb ); ok( res == ERROR_SUCCESS , "Failed to open database\n" ); - res = MsiCloseHandle( hdb ); + res = libmsi_unref( hdb ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); - res = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); + res = libmsi_database_open( msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); ok( res == ERROR_SUCCESS , "Failed to open database\n" ); - res = MsiCloseHandle( hdb ); + res = libmsi_unref( hdb ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); ok( INVALID_FILE_ATTRIBUTES != GetFileAttributes( msifile ), "database should exist\n"); /* LIBMSI_DB_OPEN_CREATE deletes the database if MsiCommitDatabase isn't called */ - res = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); + res = libmsi_database_open( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( res == ERROR_SUCCESS , "Failed to open database\n" ); ok( INVALID_FILE_ATTRIBUTES != GetFileAttributes( msifile ), "database should exist\n"); - res = MsiCloseHandle( hdb ); + res = libmsi_unref( hdb ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); ok( INVALID_FILE_ATTRIBUTES == GetFileAttributes( msifile ), "database should exist\n"); - res = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); + res = libmsi_database_open( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( res == ERROR_SUCCESS , "Failed to open database\n" ); - res = MsiDatabaseCommit( hdb ); + res = libmsi_database_commit( hdb ); ok( res == ERROR_SUCCESS , "Failed to commit database\n" ); ok( INVALID_FILE_ATTRIBUTES != GetFileAttributes( msifile ), "database should exist\n"); - res = MsiCloseHandle( hdb ); + res = libmsi_unref( hdb ); ok( res == ERROR_SUCCESS , "Failed to close database\n" ); res = DeleteFile( msifile2 ); @@ -154,17 +154,17 @@ static unsigned do_query(LibmsiDatabase *hdb, const char *sql, LibmsiRecord **ph *phrec = 0; /* open a select query */ - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); if (r != ERROR_SUCCESS) return r; - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); if (r != ERROR_SUCCESS) return r; - ret = MsiQueryFetch(hquery, phrec); - r = MsiQueryClose(hquery); + ret = libmsi_query_fetch(hquery, phrec); + r = libmsi_query_close(hquery); if (r != ERROR_SUCCESS) return r; - r = MsiCloseHandle(hquery); + r = libmsi_unref(hquery); if (r != ERROR_SUCCESS) return r; return ret; @@ -175,14 +175,14 @@ static unsigned run_query( LibmsiDatabase *hdb, LibmsiRecord *hrec, const char * LibmsiQuery *hquery = 0; unsigned r; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); if( r != ERROR_SUCCESS ) return r; - r = MsiQueryExecute(hquery, hrec); + r = libmsi_query_execute(hquery, hrec); if( r == ERROR_SUCCESS ) - r = MsiQueryClose(hquery); - MsiCloseHandle(hquery); + r = libmsi_query_close(hquery); + libmsi_unref(hquery); return r; } @@ -293,149 +293,149 @@ static void test_msiinsert(void) DeleteFile(msifile); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); /* create a table */ sql = "CREATE TABLE `phone` ( " "`id` INT, `name` CHAR(32), `number` CHAR(32) " "PRIMARY KEY `id`)"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM phone WHERE number = '8675309'"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery2); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery2, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery2, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch produced items\n"); + r = libmsi_database_open_query(hdb, sql, &hquery2); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery2, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery2, &hrec); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch produced items\n"); /* insert a value into it */ sql = "INSERT INTO `phone` ( `id`, `name`, `number` )" "VALUES('1', 'Abe', '8675309')"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); - - r = MsiQueryFetch(hquery2, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch produced items\n"); - r = MsiQueryExecute(hquery2, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery2, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed: %u\n", r); - - r = MsiCloseHandle(hrec); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); - r = MsiQueryClose(hquery2); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery2); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); + + r = libmsi_query_fetch(hquery2, &hrec); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch produced items\n"); + r = libmsi_query_execute(hquery2, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery2, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed: %u\n", r); + + r = libmsi_unref(hrec); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); + r = libmsi_query_close(hquery2); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery2); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `phone` WHERE `id` = 1"; r = do_query(hdb, sql, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); /* check the record contains what we put in it */ - r = MsiRecordGetFieldCount(hrec); + r = libmsi_record_get_field_count(hrec); ok(r == 3, "record count wrong\n"); - r = MsiRecordIsNull(hrec, 0); + r = libmsi_record_is_null(hrec, 0); ok(r == false, "field 0 not null\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "field 1 contents wrong\n"); sz = sizeof buf; - r = MsiRecordGetString(hrec, 2, buf, &sz); + r = libmsi_record_get_string(hrec, 2, buf, &sz); ok(r == ERROR_SUCCESS, "field 2 content fetch failed\n"); ok(!strcmp(buf,"Abe"), "field 2 content incorrect\n"); sz = sizeof buf; - r = MsiRecordGetString(hrec, 3, buf, &sz); + r = libmsi_record_get_string(hrec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "field 3 content fetch failed\n"); ok(!strcmp(buf,"8675309"), "field 3 content incorrect\n"); - r = MsiCloseHandle(hrec); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hrec); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* open a select query */ hrec = 100; sql = "SELECT * FROM `phone` WHERE `id` >= 10"; r = do_query(hdb, sql, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch failed\n"); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch failed\n"); ok(hrec == 0, "hrec should be null\n"); - r = MsiCloseHandle(hrec); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hrec); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `phone` WHERE `id` < 0"; r = do_query(hdb, sql, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch failed\n"); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch failed\n"); sql = "SELECT * FROM `phone` WHERE `id` <= 0"; r = do_query(hdb, sql, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch failed\n"); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch failed\n"); sql = "SELECT * FROM `phone` WHERE `id` <> 1"; r = do_query(hdb, sql, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch failed\n"); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch failed\n"); sql = "SELECT * FROM `phone` WHERE `id` > 10"; r = do_query(hdb, sql, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch failed\n"); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch failed\n"); /* now try a few bad INSERT xqueries */ sql = "INSERT INTO `phone` ( `id`, `name`, `number` )" "VALUES(?, ?)"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_BAD_QUERY_SYNTAX, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_BAD_QUERY_SYNTAX, "libmsi_database_open_query failed\n"); /* construct a record to insert */ - hrec = MsiCreateRecord(4); - r = MsiRecordSetInteger(hrec, 1, 2); - ok(r == ERROR_SUCCESS, "MsiRecordSetInteger failed\n"); - r = MsiRecordSetString(hrec, 2, "Adam"); - ok(r == ERROR_SUCCESS, "MsiRecordSetString failed\n"); - r = MsiRecordSetString(hrec, 3, "96905305"); - ok(r == ERROR_SUCCESS, "MsiRecordSetString failed\n"); + hrec = libmsi_record_create(4); + r = libmsi_record_set_int(hrec, 1, 2); + ok(r == ERROR_SUCCESS, "libmsi_record_set_int failed\n"); + r = libmsi_record_set_string(hrec, 2, "Adam"); + ok(r == ERROR_SUCCESS, "libmsi_record_set_string failed\n"); + r = libmsi_record_set_string(hrec, 3, "96905305"); + ok(r == ERROR_SUCCESS, "libmsi_record_set_string failed\n"); /* insert another value, using a record and wildcards */ sql = "INSERT INTO `phone` ( `id`, `name`, `number` )" "VALUES(?, ?, ?)"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); if (r == ERROR_SUCCESS) { - r = MsiQueryExecute(hquery, hrec); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_execute(hquery, hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); } - r = MsiCloseHandle(hrec); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hrec); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiQueryFetch(0, NULL); - ok(r == ERROR_INVALID_PARAMETER, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(0, NULL); + ok(r == ERROR_INVALID_PARAMETER, "libmsi_query_fetch failed\n"); - r = MsiDatabaseCommit(hdb); - ok(r == ERROR_SUCCESS, "MsiDatabaseCommit failed\n"); + r = libmsi_database_commit(hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_commit failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); r = DeleteFile(msifile); ok(r == true, "file didn't exist after commit\n"); @@ -446,20 +446,20 @@ static unsigned try_query_param( LibmsiDatabase *hdb, const char *szQuery, Libms LibmsiQuery *htab = 0; unsigned res; - res = MsiDatabaseOpenQuery( hdb, szQuery, &htab ); + res = libmsi_database_open_query( hdb, szQuery, &htab ); if(res == ERROR_SUCCESS ) { unsigned r; - r = MsiQueryExecute( htab, hrec ); + r = libmsi_query_execute( htab, hrec ); if(r != ERROR_SUCCESS ) res = r; - r = MsiQueryClose( htab ); + r = libmsi_query_close( htab ); if(r != ERROR_SUCCESS ) res = r; - r = MsiCloseHandle( htab ); + r = libmsi_unref( htab ); if(r != ERROR_SUCCESS ) res = r; } @@ -476,12 +476,12 @@ static unsigned try_insert_query( LibmsiDatabase *hdb, const char *szQuery ) LibmsiRecord *hrec = 0; unsigned r; - hrec = MsiCreateRecord( 1 ); - MsiRecordSetString( hrec, 1, "Hello"); + hrec = libmsi_record_create( 1 ); + libmsi_record_set_string( hrec, 1, "Hello"); r = try_query_param( hdb, szQuery, hrec ); - MsiCloseHandle( hrec ); + libmsi_unref( hrec ); return r; } @@ -492,29 +492,29 @@ static void test_msibadqueries(void) DeleteFile(msifile); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); - r = MsiDatabaseCommit( hdb ); + r = libmsi_database_commit( hdb ); ok(r == ERROR_SUCCESS , "Failed to commit database\n"); - r = MsiCloseHandle( hdb ); + r = libmsi_unref( hdb ); ok(r == ERROR_SUCCESS , "Failed to close database\n"); /* open it readonly */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_READONLY, &hdb ); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_READONLY, &hdb ); ok(r == ERROR_SUCCESS , "Failed to open database r/o\n"); /* add a table to it */ r = try_query( hdb, "select * from _Tables"); ok(r == ERROR_SUCCESS , "query 1 failed\n"); - r = MsiCloseHandle( hdb ); + r = libmsi_unref( hdb ); ok(r == ERROR_SUCCESS , "Failed to close database r/o\n"); /* open it read/write */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); ok(r == ERROR_SUCCESS , "Failed to open database r/w\n"); /* a bunch of test queries that fail with the native MSI */ @@ -580,7 +580,7 @@ static void test_msibadqueries(void) "CHAR(72), `d` CHAR(255) NOT NULL LOCALIZABLE PRIMARY KEY `b`)"); ok(r == ERROR_SUCCESS , "query 4 failed\n"); - r = MsiDatabaseCommit( hdb ); + r = libmsi_database_commit( hdb ); ok(r == ERROR_SUCCESS , "Failed to commit database after write\n"); r = try_query( hdb, "CREATE TABLE `blah` (`foo` CHAR(72) NOT NULL " @@ -590,7 +590,7 @@ static void test_msibadqueries(void) r = try_insert_query( hdb, "insert into a ( `b` ) VALUES ( ? )"); ok(r == ERROR_SUCCESS , "failed to insert record in db\n"); - r = MsiDatabaseCommit( hdb ); + r = libmsi_database_commit( hdb ); ok(r == ERROR_SUCCESS , "Failed to commit database after write\n"); r = try_query( hdb, "CREATE TABLE `boo` (`foo` CHAR(72) NOT NULL " @@ -697,7 +697,7 @@ static void test_msibadqueries(void) r = try_query( hdb, "SELECT * FROM a-" ); ok( r == ERROR_SUCCESS , "query failed: %u\n", r ); - r = MsiCloseHandle( hdb ); + r = libmsi_unref( hdb ); ok(r == ERROR_SUCCESS , "Failed to close database transact\n"); r = DeleteFile( msifile ); @@ -717,9 +717,9 @@ static void test_querymodify(void) DeleteFile(msifile); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); sql = "CREATE TABLE `phone` ( " "`id` INT, `name` CHAR(32), `number` CHAR(32) " @@ -743,317 +743,317 @@ static void test_querymodify(void) /* check what the error function reports without doing anything */ sz = 0; /* passing NULL as the 3rd param make function to crash on older platforms */ - err = MsiQueryGetError( 0, NULL, &sz ); - ok(err == LIBMSI_DB_ERROR_INVALIDARG, "MsiQueryGetError return\n"); + err = libmsi_query_get_error( 0, NULL, &sz ); + ok(err == LIBMSI_DB_ERROR_INVALIDARG, "libmsi_query_get_error return\n"); /* open a query */ sql = "SELECT * FROM `phone`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); /* see what happens with a good hquery and bad args */ - err = MsiQueryGetError( hquery, NULL, NULL ); + err = libmsi_query_get_error( hquery, NULL, NULL ); ok(err == LIBMSI_DB_ERROR_INVALIDARG || err == LIBMSI_DB_ERROR_NOERROR, - "MsiQueryGetError returns %u (expected -3)\n", err); - err = MsiQueryGetError( hquery, buffer, NULL ); - ok(err == LIBMSI_DB_ERROR_INVALIDARG, "MsiQueryGetError return\n"); + "libmsi_query_get_error returns %u (expected -3)\n", err); + err = libmsi_query_get_error( hquery, buffer, NULL ); + ok(err == LIBMSI_DB_ERROR_INVALIDARG, "libmsi_query_get_error return\n"); /* see what happens with a zero length buffer */ sz = 0; buffer[0] = 'x'; - err = MsiQueryGetError( hquery, buffer, &sz ); - ok(err == LIBMSI_DB_ERROR_MOREDATA, "MsiQueryGetError return\n"); + err = libmsi_query_get_error( hquery, buffer, &sz ); + ok(err == LIBMSI_DB_ERROR_MOREDATA, "libmsi_query_get_error return\n"); ok(buffer[0] == 'x', "buffer cleared\n"); ok(sz == 0, "size not zero\n"); /* ok this one is strange */ sz = 0; - err = MsiQueryGetError( hquery, NULL, &sz ); - ok(err == LIBMSI_DB_ERROR_NOERROR, "MsiQueryGetError return\n"); + err = libmsi_query_get_error( hquery, NULL, &sz ); + ok(err == LIBMSI_DB_ERROR_NOERROR, "libmsi_query_get_error return\n"); ok(sz == 0, "size not zero\n"); /* see if it really has an error */ sz = sizeof buffer; buffer[0] = 'x'; - err = MsiQueryGetError( hquery, buffer, &sz ); - ok(err == LIBMSI_DB_ERROR_NOERROR, "MsiQueryGetError return\n"); + err = libmsi_query_get_error( hquery, buffer, &sz ); + ok(err == LIBMSI_DB_ERROR_NOERROR, "libmsi_query_get_error return\n"); ok(buffer[0] == 0, "buffer not cleared\n"); ok(sz == 0, "size not zero\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); /* try some invalid records */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT, 0 ); - ok(r == ERROR_INVALID_HANDLE, "MsiQueryModify failed\n"); - r = MsiQueryModify(hquery, -1, 0 ); - ok(r == ERROR_INVALID_HANDLE, "MsiQueryModify failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT, 0 ); + ok(r == ERROR_INVALID_HANDLE, "libmsi_query_modify failed\n"); + r = libmsi_query_modify(hquery, -1, 0 ); + ok(r == ERROR_INVALID_HANDLE, "libmsi_query_modify failed\n"); /* try an small record */ - hrec = MsiCreateRecord(1); - r = MsiQueryModify(hquery, -1, hrec ); - ok(r == ERROR_INVALID_DATA, "MsiQueryModify failed\n"); + hrec = libmsi_record_create(1); + r = libmsi_query_modify(hquery, -1, hrec ); + ok(r == ERROR_INVALID_DATA, "libmsi_query_modify failed\n"); sz = sizeof buffer; buffer[0] = 'x'; - err = MsiQueryGetError( hquery, buffer, &sz ); - ok(err == LIBMSI_DB_ERROR_NOERROR, "MsiQueryGetError return\n"); + err = libmsi_query_get_error( hquery, buffer, &sz ); + ok(err == LIBMSI_DB_ERROR_NOERROR, "libmsi_query_get_error return\n"); ok(buffer[0] == 0, "buffer not cleared\n"); ok(sz == 0, "size not zero\n"); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); /* insert a valid record */ - hrec = MsiCreateRecord(3); + hrec = libmsi_record_create(3); - r = MsiRecordSetInteger(hrec, 1, 1); + r = libmsi_record_set_int(hrec, 1, 1); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetString(hrec, 2, "bob"); + r = libmsi_record_set_string(hrec, 2, "bob"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiRecordSetString(hrec, 3, "7654321"); + r = libmsi_record_set_string(hrec, 3, "7654321"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec ); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec ); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed\n"); /* validate it */ - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_VALIDATE_NEW, hrec ); - ok(r == ERROR_INVALID_DATA, "MsiQueryModify failed %u\n", r); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_VALIDATE_NEW, hrec ); + ok(r == ERROR_INVALID_DATA, "libmsi_query_modify failed %u\n", r); sz = sizeof buffer; buffer[0] = 'x'; - err = MsiQueryGetError( hquery, buffer, &sz ); - ok(err == LIBMSI_DB_ERROR_DUPLICATEKEY, "MsiQueryGetError returned %u\n", err); + err = libmsi_query_get_error( hquery, buffer, &sz ); + ok(err == LIBMSI_DB_ERROR_DUPLICATEKEY, "libmsi_query_get_error returned %u\n", err); ok(!strcmp(buffer, "id"), "expected \"id\" c, got \"%s\"\n", buffer); ok(sz == 2, "size not 2\n"); /* insert the same thing again */ - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); /* should fail ... */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec ); - ok(r == ERROR_FUNCTION_FAILED, "MsiQueryModify failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec ); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_query_modify failed\n"); /* try to merge the same record */ - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_MERGE, hrec ); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_MERGE, hrec ); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed\n"); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); /* try merging a new record */ - hrec = MsiCreateRecord(3); + hrec = libmsi_record_create(3); - r = MsiRecordSetInteger(hrec, 1, 10); + r = libmsi_record_set_int(hrec, 1, 10); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetString(hrec, 2, "pepe"); + r = libmsi_record_set_string(hrec, 2, "pepe"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiRecordSetString(hrec, 3, "7654321"); + r = libmsi_record_set_string(hrec, 3, "7654321"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_MERGE, hrec ); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_MERGE, hrec ); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `phone`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); + ok(r == ERROR_SUCCESS, "libmsi_record_get_string failed\n"); ok(!strcmp(buffer, "bob"), "Expected bob, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); + ok(r == ERROR_SUCCESS, "libmsi_record_get_string failed\n"); ok(!strcmp(buffer, "7654321"), "Expected 7654321, got %s\n", buffer); /* update the query, non-primary key */ - r = MsiRecordSetString(hrec, 3, "3141592"); - ok(r == ERROR_SUCCESS, "MsiRecordSetString failed\n"); + r = libmsi_record_set_string(hrec, 3, "3141592"); + ok(r == ERROR_SUCCESS, "libmsi_record_set_string failed\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed\n"); /* do it again */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed: %d\n", r); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed: %d\n", r); /* update the query, primary key */ - r = MsiRecordSetInteger(hrec, 1, 5); - ok(r == ERROR_SUCCESS, "MsiRecordSetInteger failed\n"); + r = libmsi_record_set_int(hrec, 1, 5); + ok(r == ERROR_SUCCESS, "libmsi_record_set_int failed\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_FUNCTION_FAILED, "MsiQueryModify failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_query_modify failed\n"); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `phone`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); + ok(r == ERROR_SUCCESS, "libmsi_record_get_string failed\n"); ok(!strcmp(buffer, "bob"), "Expected bob, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); - ok(r == ERROR_SUCCESS, "MsiRecordGetString failed\n"); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); + ok(r == ERROR_SUCCESS, "libmsi_record_get_string failed\n"); ok(!strcmp(buffer, "3141592"), "Expected 3141592, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); /* use a record that doesn't come from a query fetch */ - hrec = MsiCreateRecord(3); - ok(hrec != 0, "MsiCreateRecord failed\n"); + hrec = libmsi_record_create(3); + ok(hrec != 0, "libmsi_record_create failed\n"); - r = MsiRecordSetInteger(hrec, 1, 3); + r = libmsi_record_set_int(hrec, 1, 3); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetString(hrec, 2, "jane"); + r = libmsi_record_set_string(hrec, 2, "jane"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiRecordSetString(hrec, 3, "112358"); + r = libmsi_record_set_string(hrec, 3, "112358"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); ok(r == ERROR_FUNCTION_FAILED, "Expected ERROR_FUNCTION_FAILED, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); /* use a record that doesn't come from a query fetch, primary key matches */ - hrec = MsiCreateRecord(3); - ok(hrec != 0, "MsiCreateRecord failed\n"); + hrec = libmsi_record_create(3); + ok(hrec != 0, "libmsi_record_create failed\n"); - r = MsiRecordSetInteger(hrec, 1, 1); + r = libmsi_record_set_int(hrec, 1, 1); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetString(hrec, 2, "jane"); + r = libmsi_record_set_string(hrec, 2, "jane"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiRecordSetString(hrec, 3, "112358"); + r = libmsi_record_set_string(hrec, 3, "112358"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_FUNCTION_FAILED, "MsiQueryModify failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_query_modify failed\n"); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - hrec = MsiCreateRecord(3); + hrec = libmsi_record_create(3); - r = MsiRecordSetInteger(hrec, 1, 2); + r = libmsi_record_set_int(hrec, 1, 2); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetString(hrec, 2, "nick"); + r = libmsi_record_set_string(hrec, 2, "nick"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiRecordSetString(hrec, 3, "141421"); + r = libmsi_record_set_string(hrec, 3, "141421"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec ); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec ); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed\n"); - r = MsiCloseHandle(hrec); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hrec); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `phone` WHERE `id` = 1"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); /* change the id to match the second row */ - r = MsiRecordSetInteger(hrec, 1, 2); + r = libmsi_record_set_int(hrec, 1, 2); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetString(hrec, 2, "jerry"); + r = libmsi_record_set_string(hrec, 2, "jerry"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_FUNCTION_FAILED, "MsiQueryModify failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_query_modify failed\n"); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* broader search */ sql = "SELECT * FROM `phone` ORDER BY `id`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); /* change the id to match the second row */ - r = MsiRecordSetInteger(hrec, 1, 2); + r = libmsi_record_set_int(hrec, 1, 2); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetString(hrec, 2, "jerry"); + r = libmsi_record_set_string(hrec, 2, "jerry"); ok(r == ERROR_SUCCESS, "failed to set string\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_FUNCTION_FAILED, "MsiQueryModify failed\n"); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_query_modify failed\n"); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiCloseHandle( hdb ); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase close failed\n"); + r = libmsi_unref( hdb ); + ok(r == ERROR_SUCCESS, "libmsi_database_open close failed\n"); } static LibmsiDatabase *create_db(void) @@ -1064,12 +1064,12 @@ static LibmsiDatabase *create_db(void) DeleteFile(msifile); /* create an empty database */ - res = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); + res = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( res == ERROR_SUCCESS , "Failed to create database\n" ); if( res != ERROR_SUCCESS ) return hdb; - res = MsiDatabaseCommit( hdb ); + res = libmsi_database_commit( hdb ); ok( res == ERROR_SUCCESS , "Failed to commit database\n" ); return hdb; @@ -1089,51 +1089,51 @@ static void test_getcolinfo(void) ok( hdb, "failed to create db\n"); /* tables should be present */ - r = MsiDatabaseOpenQuery(hdb, "select * from _Tables", &hquery); + r = libmsi_database_open_query(hdb, "select * from _Tables", &hquery); ok( r == ERROR_SUCCESS, "failed to open query\n"); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query\n"); /* check that NAMES works */ rec = 0; - r = MsiQueryGetColumnInfo( hquery, LIBMSI_COL_INFO_NAMES, &rec ); + r = libmsi_query_get_column_info( hquery, LIBMSI_COL_INFO_NAMES, &rec ); ok( r == ERROR_SUCCESS, "failed to get names\n"); sz = sizeof buffer; - r = MsiRecordGetString(rec, 1, buffer, &sz ); + r = libmsi_record_get_string(rec, 1, buffer, &sz ); ok( r == ERROR_SUCCESS, "failed to get string\n"); ok( !strcmp(buffer,"Name"), "_Tables has wrong column name\n"); - r = MsiCloseHandle( rec ); + r = libmsi_unref( rec ); ok( r == ERROR_SUCCESS, "failed to close record handle\n"); /* check that TYPES works */ rec = 0; - r = MsiQueryGetColumnInfo( hquery, LIBMSI_COL_INFO_TYPES, &rec ); + r = libmsi_query_get_column_info( hquery, LIBMSI_COL_INFO_TYPES, &rec ); ok( r == ERROR_SUCCESS, "failed to get names\n"); sz = sizeof buffer; - r = MsiRecordGetString(rec, 1, buffer, &sz ); + r = libmsi_record_get_string(rec, 1, buffer, &sz ); ok( r == ERROR_SUCCESS, "failed to get string\n"); ok( !strcmp(buffer,"s64"), "_Tables has wrong column type\n"); - r = MsiCloseHandle( rec ); + r = libmsi_unref( rec ); ok( r == ERROR_SUCCESS, "failed to close record handle\n"); /* check that invalid values fail */ rec = 0; - r = MsiQueryGetColumnInfo( hquery, 100, &rec ); + r = libmsi_query_get_column_info( hquery, 100, &rec ); ok( r == ERROR_INVALID_PARAMETER, "wrong error code\n"); ok( rec == 0, "returned a record\n"); - r = MsiQueryGetColumnInfo( hquery, LIBMSI_COL_INFO_TYPES, NULL ); + r = libmsi_query_get_column_info( hquery, LIBMSI_COL_INFO_TYPES, NULL ); ok( r == ERROR_INVALID_PARAMETER, "wrong error code\n"); - r = MsiQueryGetColumnInfo( 0, LIBMSI_COL_INFO_TYPES, &rec ); + r = libmsi_query_get_column_info( 0, LIBMSI_COL_INFO_TYPES, &rec ); ok( r == ERROR_INVALID_HANDLE, "wrong error code\n"); - r = MsiQueryClose(hquery); + r = libmsi_query_close(hquery); ok( r == ERROR_SUCCESS, "failed to close query\n"); - r = MsiCloseHandle(hquery); + r = libmsi_unref(hquery); ok( r == ERROR_SUCCESS, "failed to close query handle\n"); - r = MsiCloseHandle(hdb); + r = libmsi_unref(hdb); ok( r == ERROR_SUCCESS, "failed to close database\n"); } @@ -1143,17 +1143,17 @@ static LibmsiRecord *get_column_info(LibmsiDatabase *hdb, const char *sql, Libms LibmsiRecord *rec = 0; unsigned r; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); if( r != ERROR_SUCCESS ) return rec; - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); if( r == ERROR_SUCCESS ) { - MsiQueryGetColumnInfo( hquery, type, &rec ); + libmsi_query_get_column_info( hquery, type, &rec ); } - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); return rec; } @@ -1166,26 +1166,26 @@ static unsigned get_columns_table_type(LibmsiDatabase *hdb, const char *table, u sprintf(sql, "select * from `_Columns` where `Table` = '%s'", table ); - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); if( r != ERROR_SUCCESS ) return r; - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); if( r == ERROR_SUCCESS ) { while (1) { - r = MsiQueryFetch( hquery, &rec ); + r = libmsi_query_fetch( hquery, &rec ); if( r != ERROR_SUCCESS) break; - r = MsiRecordGetInteger( rec, 2 ); + r = libmsi_record_get_integer( rec, 2 ); if (r == field) - type = MsiRecordGetInteger( rec, 4 ); - MsiCloseHandle( rec ); + type = libmsi_record_get_integer( rec, 4 ); + libmsi_unref( rec ); } } - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); return type; } @@ -1196,7 +1196,7 @@ static bool check_record( LibmsiRecord *rec, unsigned field, const char *val ) unsigned sz; sz = sizeof buffer; - r = MsiRecordGetString( rec, field, buffer, &sz ); + r = libmsi_record_get_string( rec, field, buffer, &sz ); return (r == ERROR_SUCCESS ) && !strcmp(val, buffer); } @@ -1233,7 +1233,7 @@ static void test_querygetcolumninfo(void) ok( check_record( rec, 6, "I4"), "wrong record type\n"); ok( check_record( rec, 7, "S0"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); /* check the type in _Columns */ ok( 0x3dff == get_columns_table_type(hdb, "Properties", 1 ), "_columns table wrong\n"); @@ -1256,7 +1256,7 @@ static void test_querygetcolumninfo(void) ok( check_record( rec, 6, "Longvalue"), "wrong record type\n"); ok( check_record( rec, 7, "Longcharvalue"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); r = run_query( hdb, 0, "CREATE TABLE `Binary` " @@ -1270,7 +1270,7 @@ static void test_querygetcolumninfo(void) ok( check_record( rec, 1, "S255"), "wrong record type\n"); ok( check_record( rec, 2, "V0"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); /* check the type in _Columns */ ok( 0x3dff == get_columns_table_type(hdb, "Binary", 1 ), "_columns table wrong\n"); @@ -1282,7 +1282,7 @@ static void test_querygetcolumninfo(void) ok( check_record( rec, 1, "Name"), "wrong record type\n"); ok( check_record( rec, 2, "Data"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); r = run_query( hdb, 0, "CREATE TABLE `UIText` " @@ -1296,15 +1296,15 @@ static void test_querygetcolumninfo(void) ok( rec, "failed to get column info record\n" ); ok( check_record( rec, 1, "Key"), "wrong record type\n"); ok( check_record( rec, 2, "Text"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); rec = get_column_info( hdb, "select * from `UIText`", LIBMSI_COL_INFO_TYPES ); ok( rec, "failed to get column info record\n" ); ok( check_record( rec, 1, "s72"), "wrong record type\n"); ok( check_record( rec, 2, "L255"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - MsiCloseHandle( hdb ); + libmsi_unref( hdb ); } static void test_msiexport(void) @@ -1326,44 +1326,44 @@ static void test_msiexport(void) DeleteFile(msifile); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); /* create a table */ sql = "CREATE TABLE `phone` ( " "`id` INT, `name` CHAR(32), `number` CHAR(32) " "PRIMARY KEY `id`)"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* insert a value into it */ sql = "INSERT INTO `phone` ( `id`, `name`, `number` )" "VALUES('1', 'Abe', '8675309')"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); fd = open(file, O_WRONLY | O_BINARY | O_CREAT, 0644); ok(fd != -1, "open failed\n"); - r = MsiDatabaseExport(hdb, "phone", fd); - ok(r == ERROR_SUCCESS, "MsiDatabaseExport failed\n"); + r = libmsi_database_export(hdb, "phone", fd); + ok(r == ERROR_SUCCESS, "libmsi_database_export failed\n"); close(fd); - MsiCloseHandle(hdb); + libmsi_unref(hdb); /* check the data that was written */ length = 0; @@ -1396,9 +1396,9 @@ static void test_longstrings(void) const unsigned STRING_LENGTH = 0x10005; DeleteFile(msifile); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); /* create a table */ r = try_query( hdb, @@ -1412,35 +1412,35 @@ static void test_longstrings(void) memset(str+len, 'Z', STRING_LENGTH); strcpy(str+len+STRING_LENGTH, insert_query+len+1); r = try_query( hdb, str ); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); HeapFree(GetProcessHeap(), 0, str); - r = MsiDatabaseCommit(hdb); - ok(r == ERROR_SUCCESS, "MsiDatabaseCommit failed\n"); - MsiCloseHandle(hdb); + r = libmsi_database_commit(hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_commit failed\n"); + libmsi_unref(hdb); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); - r = MsiDatabaseOpenQuery(hdb, "select * from `strings` where `id` = 1", &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query(hdb, "select * from `strings` where `id` = 1", &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); - r = MsiRecordGetString(hrec, 2, NULL, &len); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_record_get_string(hrec, 2, NULL, &len); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); ok(len == STRING_LENGTH, "string length wrong\n"); - MsiCloseHandle(hrec); - MsiCloseHandle(hdb); + libmsi_unref(hrec); + libmsi_unref(hdb); DeleteFile(msifile); } @@ -1491,12 +1491,12 @@ static void test_streamtable(void) "( `Value`, `Property` ) VALUES ( 'Prop', 'value' )" ); ok( r == ERROR_SUCCESS, "Failed to add to table\n" ); - r = MsiDatabaseCommit( hdb ); + r = libmsi_database_commit( hdb ); ok( r == ERROR_SUCCESS , "Failed to commit database\n" ); - MsiCloseHandle( hdb ); + libmsi_unref( hdb ); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); ok( r == ERROR_SUCCESS , "Failed to open database\n" ); /* check the column types */ @@ -1506,7 +1506,7 @@ static void test_streamtable(void) ok( check_record( rec, 1, "s62"), "wrong record type\n"); ok( check_record( rec, 2, "V0"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); /* now try the names */ rec = get_column_info( hdb, "select * from `_Streams`", LIBMSI_COL_INFO_NAMES ); @@ -1515,195 +1515,195 @@ static void test_streamtable(void) ok( check_record( rec, 1, "Name"), "wrong record type\n"); ok( check_record( rec, 2, "Data"), "wrong record type\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "SELECT * FROM `_Streams` WHERE `Name` = '\5SummaryInformation'", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %u\n", r ); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "Failed to execute query: %u\n", r ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_NO_MORE_ITEMS, "Unexpected result: %u\n", r ); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); /* create a summary information stream */ - r = MsiGetSummaryInformation( hdb, 1, &hsi ); + r = libmsi_database_get_summary_info( hdb, 1, &hsi ); ok( r == ERROR_SUCCESS, "Failed to get summary information handle: %u\n", r ); - r = MsiSummaryInfoSetProperty( hsi, MSI_PID_SECURITY, VT_I4, 2, NULL, NULL ); + r = libmsi_summary_info_set_property( hsi, MSI_PID_SECURITY, VT_I4, 2, NULL, NULL ); ok( r == ERROR_SUCCESS, "Failed to set property: %u\n", r ); - r = MsiSummaryInfoPersist( hsi ); + r = libmsi_summary_info_persist( hsi ); ok( r == ERROR_SUCCESS, "Failed to save summary information: %u\n", r ); - MsiCloseHandle( hsi ); + libmsi_unref( hsi ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "SELECT * FROM `_Streams` WHERE `Name` = '\5SummaryInformation'", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %u\n", r ); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "Failed to execute query: %u\n", r ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "Unexpected result: %u\n", r ); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); /* insert a file into the _Streams table */ create_file( "test.txt" ); - rec = MsiCreateRecord( 2 ); - MsiRecordSetString( rec, 1, "data" ); + rec = libmsi_record_create( 2 ); + libmsi_record_set_string( rec, 1, "data" ); - r = MsiRecordSetStream( rec, 2, "test.txt" ); + r = libmsi_record_load_stream( rec, 2, "test.txt" ); ok( r == ERROR_SUCCESS, "Failed to add stream data to the record: %d\n", r); DeleteFile("test.txt"); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "INSERT INTO `_Streams` ( `Name`, `Data` ) VALUES ( ?, ? )", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %d\n", r); - r = MsiQueryExecute( query, rec ); + r = libmsi_query_execute( query, rec ); ok( r == ERROR_SUCCESS, "Failed to execute query: %d\n", r); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); /* insert another one */ create_file( "test1.txt" ); - rec = MsiCreateRecord( 2 ); - MsiRecordSetString( rec, 1, "data1" ); + rec = libmsi_record_create( 2 ); + libmsi_record_set_string( rec, 1, "data1" ); - r = MsiRecordSetStream( rec, 2, "test1.txt" ); + r = libmsi_record_load_stream( rec, 2, "test1.txt" ); ok( r == ERROR_SUCCESS, "Failed to add stream data to the record: %d\n", r); DeleteFile("test1.txt"); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "INSERT INTO `_Streams` ( `Name`, `Data` ) VALUES ( ?, ? )", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %d\n", r); - r = MsiQueryExecute( query, rec ); + r = libmsi_query_execute( query, rec ); ok( r == ERROR_SUCCESS, "Failed to execute query: %d\n", r); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "SELECT `Name`, `Data` FROM `_Streams` WHERE `Name` = 'data'", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %d\n", r); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "Failed to execute query: %d\n", r); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "Failed to fetch record: %d\n", r); size = MAX_PATH; - r = MsiRecordGetString( rec, 1, file, &size ); + r = libmsi_record_get_string( rec, 1, file, &size ); ok( r == ERROR_SUCCESS, "Failed to get string: %d\n", r); ok( !strcmp(file, "data"), "Expected 'data', got %s\n", file); size = MAX_PATH; memset(buf, 0, MAX_PATH); - r = MsiRecordReadStream( rec, 2, buf, &size ); + r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "Failed to get stream: %d\n", r); ok( !strcmp(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "SELECT `Name`, `Data` FROM `_Streams` WHERE `Name` = 'data1'", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %d\n", r); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "Failed to execute query: %d\n", r); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString( rec, 1, file, &size ); + r = libmsi_record_get_string( rec, 1, file, &size ); ok( r == ERROR_SUCCESS, "Failed to get string: %d\n", r); ok( !strcmp(file, "data1"), "Expected 'data1', got %s\n", file); size = MAX_PATH; memset(buf, 0, MAX_PATH); - r = MsiRecordReadStream( rec, 2, buf, &size ); + r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "Failed to get stream: %d\n", r); ok( !strcmp(buf, "test1.txt\n"), "Expected 'test1.txt\\n', got %s\n", buf); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); /* perform an update */ create_file( "test2.txt" ); - rec = MsiCreateRecord( 1 ); + rec = libmsi_record_create( 1 ); - r = MsiRecordSetStream( rec, 1, "test2.txt" ); + r = libmsi_record_load_stream( rec, 1, "test2.txt" ); ok( r == ERROR_SUCCESS, "Failed to add stream data to the record: %d\n", r); DeleteFile("test2.txt"); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "UPDATE `_Streams` SET `Data` = ? WHERE `Name` = 'data1'", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %d\n", r); - r = MsiQueryExecute( query, rec ); + r = libmsi_query_execute( query, rec ); ok( r == ERROR_SUCCESS, "Failed to execute query: %d\n", r); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, + r = libmsi_database_open_query( hdb, "SELECT `Name`, `Data` FROM `_Streams` WHERE `Name` = 'data1'", &query ); ok( r == ERROR_SUCCESS, "Failed to open database query: %d\n", r); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "Failed to execute query: %d\n", r); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "Failed to fetch record: %d\n", r); size = MAX_PATH; - r = MsiRecordGetString( rec, 1, file, &size ); + r = libmsi_record_get_string( rec, 1, file, &size ); ok( r == ERROR_SUCCESS, "Failed to get string: %d\n", r); ok( !strcmp(file, "data1"), "Expected 'data1', got %s\n", file); size = MAX_PATH; memset(buf, 0, MAX_PATH); - r = MsiRecordReadStream( rec, 2, buf, &size ); + r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "Failed to get stream: %d\n", r); todo_wine ok( !strcmp(buf, "test2.txt\n"), "Expected 'test2.txt\\n', got %s\n", buf); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); - MsiCloseHandle( hdb ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); + libmsi_unref( hdb ); DeleteFile(msifile); } @@ -1718,7 +1718,7 @@ static void test_binary(void) unsigned r; /* insert a file into the Binary table */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( r == ERROR_SUCCESS , "Failed to open database\n" ); sql = "CREATE TABLE `Binary` ( `Name` CHAR(72) NOT NULL, `ID` INT NOT NULL, `Data` OBJECT PRIMARY KEY `Name`, `ID`)"; @@ -1726,8 +1726,8 @@ static void test_binary(void) ok( r == ERROR_SUCCESS, "Cannot create Binary table: %d\n", r ); create_file( "test.txt" ); - rec = MsiCreateRecord( 1 ); - r = MsiRecordSetStream( rec, 1, "test.txt" ); + rec = libmsi_record_create( 1 ); + r = libmsi_record_load_stream( rec, 1, "test.txt" ); ok( r == ERROR_SUCCESS, "Failed to add stream data to the record: %d\n", r); DeleteFile( "test.txt" ); @@ -1735,17 +1735,17 @@ static void test_binary(void) r = run_query( hdb, rec, sql ); ok( r == ERROR_SUCCESS, "Insert into Binary table failed: %d\n", r ); - r = MsiCloseHandle( rec ); + r = libmsi_unref( rec ); ok( r == ERROR_SUCCESS , "Failed to close record handle\n" ); - r = MsiDatabaseCommit( hdb ); + r = libmsi_database_commit( hdb ); ok( r == ERROR_SUCCESS , "Failed to commit database\n" ); - r = MsiCloseHandle( hdb ); + r = libmsi_unref( hdb ); ok( r == ERROR_SUCCESS , "Failed to close database\n" ); /* read file from the Stream table */ - r = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_READONLY, &hdb ); + r = libmsi_database_open( msifile, LIBMSI_DB_OPEN_READONLY, &hdb ); ok( r == ERROR_SUCCESS , "Failed to open database\n" ); sql = "SELECT * FROM `_Streams`"; @@ -1753,17 +1753,17 @@ static void test_binary(void) ok( r == ERROR_SUCCESS, "SELECT query failed: %d\n", r ); size = MAX_PATH; - r = MsiRecordGetString( rec, 1, file, &size ); + r = libmsi_record_get_string( rec, 1, file, &size ); ok( r == ERROR_SUCCESS, "Failed to get string: %d\n", r ); ok( !strcmp(file, "Binary.filename1.1"), "Expected 'Binary.filename1.1', got %s\n", file ); size = MAX_PATH; memset( buf, 0, MAX_PATH ); - r = MsiRecordReadStream( rec, 2, buf, &size ); + r = libmsi_record_save_stream( rec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "Failed to get stream: %d\n", r ); ok( !strcmp(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf ); - r = MsiCloseHandle( rec ); + r = libmsi_unref( rec ); ok( r == ERROR_SUCCESS , "Failed to close record handle\n" ); /* read file from the Binary table */ @@ -1772,20 +1772,20 @@ static void test_binary(void) ok( r == ERROR_SUCCESS, "SELECT query failed: %d\n", r ); size = MAX_PATH; - r = MsiRecordGetString( rec, 1, file, &size ); + r = libmsi_record_get_string( rec, 1, file, &size ); ok( r == ERROR_SUCCESS, "Failed to get string: %d\n", r ); ok( !strcmp(file, "filename1"), "Expected 'filename1', got %s\n", file ); size = MAX_PATH; memset( buf, 0, MAX_PATH ); - r = MsiRecordReadStream( rec, 3, buf, &size ); + r = libmsi_record_save_stream( rec, 3, buf, &size ); ok( r == ERROR_SUCCESS, "Failed to get stream: %d\n", r ); ok( !strcmp(buf, "test.txt\n"), "Expected 'test.txt\\n', got %s\n", buf ); - r = MsiCloseHandle( rec ); + r = libmsi_unref( rec ); ok( r == ERROR_SUCCESS , "Failed to close record handle\n" ); - r = MsiCloseHandle( hdb ); + r = libmsi_unref( hdb ); ok( r == ERROR_SUCCESS , "Failed to close database\n" ); DeleteFile( msifile ); @@ -1863,28 +1863,28 @@ static void test_where_not_in_selected(void) query = NULL; sql = "Select IESTable.Condition from CATable, IESTable where " "CATable.Action = IESTable.Action and CATable.Type = 32"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok( r == ERROR_SUCCESS, "failed to fetch query: %d\n", r ); ok( check_record( rec, 1, "cond2"), "wrong condition\n"); - MsiCloseHandle( rec ); - r = MsiQueryFetch(query, &rec); + libmsi_unref( rec ); + r = libmsi_query_fetch(query, &rec); ok( r == ERROR_SUCCESS, "failed to fetch query: %d\n", r ); ok( check_record( rec, 1, "cond3"), "wrong condition\n"); - MsiCloseHandle( rec ); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_unref( rec ); + libmsi_query_close(query); + libmsi_unref(query); - MsiCloseHandle( hdb ); + libmsi_unref( hdb ); DeleteFile(msifile); } @@ -1932,111 +1932,111 @@ static void test_where(void) sql = "SELECT * FROM `Media`"; r = do_query(hdb, sql, &rec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed: %d\n", r); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed: %d\n", r); ok( check_record( rec, 4, "zero.cab"), "wrong cabinet\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); sql = "SELECT * FROM `Media` WHERE `LastSequence` >= 1"; r = do_query(hdb, sql, &rec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed: %d\n", r); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed: %d\n", r); ok( check_record( rec, 4, "one.cab"), "wrong cabinet\n"); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok( 2 == r, "field wrong\n"); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok( 1 == r, "field wrong\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); sql = "SELECT `DiskId` FROM `Media` WHERE `LastSequence` >= 1 AND DiskId >= 0"; query = NULL; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok( r == ERROR_SUCCESS, "failed to fetch query: %d\n", r ); - count = MsiRecordGetFieldCount( rec ); + count = libmsi_record_get_field_count( rec ); ok( count == 1, "Expected 1 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( rec, 1, buf, &size ); + r = libmsi_record_get_string( rec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); ok( !strcmp( buf, "2" ), "For (row %d, column 1) expected '%d', got %s\n", 0, 2, buf ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok( r == ERROR_SUCCESS, "failed to fetch query: %d\n", r ); size = MAX_PATH; - r = MsiRecordGetString( rec, 1, buf, &size ); + r = libmsi_record_get_string( rec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); ok( !strcmp( buf, "3" ), "For (row %d, column 1) expected '%d', got %s\n", 1, 3, buf ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); - MsiCloseHandle( rec ); + libmsi_unref( rec ); rec = 0; sql = "SELECT * FROM `Media` WHERE `DiskPrompt` IS NULL"; r = do_query(hdb, sql, &rec); ok( r == ERROR_SUCCESS, "query failed: %d\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); rec = 0; sql = "SELECT * FROM `Media` WHERE `DiskPrompt` < 'Cabinet'"; r = do_query(hdb, sql, &rec); ok( r == ERROR_BAD_QUERY_SYNTAX, "query failed: %d\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); rec = 0; sql = "SELECT * FROM `Media` WHERE `DiskPrompt` > 'Cabinet'"; r = do_query(hdb, sql, &rec); ok( r == ERROR_BAD_QUERY_SYNTAX, "query failed: %d\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); rec = 0; sql = "SELECT * FROM `Media` WHERE `DiskPrompt` <> 'Cabinet'"; r = do_query(hdb, sql, &rec); ok( r == ERROR_SUCCESS, "query failed: %d\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); rec = 0; sql = "SELECT * FROM `Media` WHERE `DiskPrompt` = 'Cabinet'"; r = do_query(hdb, sql, &rec); ok( r == ERROR_NO_MORE_ITEMS, "query failed: %d\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - rec = MsiCreateRecord(1); - MsiRecordSetString(rec, 1, ""); + rec = libmsi_record_create(1); + libmsi_record_set_string(rec, 1, ""); sql = "SELECT * FROM `Media` WHERE `DiskPrompt` = ?"; query = NULL; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, rec); + r = libmsi_query_execute(query, rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_unref(rec); + libmsi_query_close(query); + libmsi_unref(query); - MsiCloseHandle( hdb ); + libmsi_unref( hdb ); DeleteFile(msifile); } @@ -2099,7 +2099,7 @@ static unsigned add_table_to_db(LibmsiDatabase *hdb, const char *table_data) unsigned r; write_file("temp_file", table_data, (strlen(table_data) - 1) * sizeof(char)); - r = MsiDatabaseImport(hdb, CURR_DIR, "temp_file"); + r = libmsi_database_import(hdb, CURR_DIR, "temp_file"); DeleteFileA("temp_file"); return r; @@ -2118,7 +2118,7 @@ static void test_suminfo_import(void) GetCurrentDirectoryA(MAX_PATH, CURR_DIR); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); r = add_table_to_db(hdb, suminfo); @@ -2128,26 +2128,26 @@ static void test_suminfo_import(void) query = NULL; sql = "SELECT * FROM `_SummaryInformation`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %u\n", r); - MsiCloseHandle(query); + libmsi_unref(query); /* ...its data is added to the special summary information stream */ - r = MsiGetSummaryInformation(hdb, 0, &hsi); + r = libmsi_database_get_summary_info(hdb, 0, &hsi); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); - r = MsiSummaryInfoGetPropertyCount(hsi, &count); + r = libmsi_summary_info_get_property_count(hsi, &count); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(count == 14, "Expected 14, got %u\n", count); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_CODEPAGE, &type, &int_value, NULL, NULL, NULL); + r = libmsi_summary_info_get_property(hsi, MSI_PID_CODEPAGE, &type, &int_value, NULL, NULL, NULL); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_I2, "Expected VT_I2, got %u\n", type); ok(int_value == 1252, "Expected 1252, got %d\n", int_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_TITLE, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_TITLE, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(size == 18, "Expected 18, got %u\n", size); @@ -2155,78 +2155,78 @@ static void test_suminfo_import(void) "Expected \"Installer Database\", got %s\n", str_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_SUBJECT, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_SUBJECT, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(!strcmp(str_value, "Installer description"), "Expected \"Installer description\", got %s\n", str_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_AUTHOR, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_AUTHOR, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(!strcmp(str_value, "WineHQ"), "Expected \"WineHQ\", got %s\n", str_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_KEYWORDS, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_KEYWORDS, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(!strcmp(str_value, "Installer"), "Expected \"Installer\", got %s\n", str_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_COMMENTS, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_COMMENTS, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(!strcmp(str_value, "Installer comments"), "Expected \"Installer comments\", got %s\n", str_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_TEMPLATE, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_TEMPLATE, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(!strcmp(str_value, "Intel;1033,2057"), "Expected \"Intel;1033,2057\", got %s\n", str_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_REVNUMBER, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_REVNUMBER, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(!strcmp(str_value, "{12345678-1234-1234-1234-123456789012}"), "Expected \"{12345678-1234-1234-1234-123456789012}\", got %s\n", str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_CREATE_DTM, &type, NULL, &ft_value, NULL, NULL); + r = libmsi_summary_info_get_property(hsi, MSI_PID_CREATE_DTM, &type, NULL, &ft_value, NULL, NULL); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_FILETIME, "Expected VT_FILETIME, got %u\n", type); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_LASTSAVE_DTM, &type, NULL, &ft_value, NULL, NULL); + r = libmsi_summary_info_get_property(hsi, MSI_PID_LASTSAVE_DTM, &type, NULL, &ft_value, NULL, NULL); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_FILETIME, "Expected VT_FILETIME, got %u\n", type); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_PAGECOUNT, &type, &int_value, NULL, NULL, NULL); + r = libmsi_summary_info_get_property(hsi, MSI_PID_PAGECOUNT, &type, &int_value, NULL, NULL, NULL); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_I4, "Expected VT_I4, got %u\n", type); ok(int_value == 200, "Expected 200, got %d\n", int_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_WORDCOUNT, &type, &int_value, NULL, NULL, NULL); + r = libmsi_summary_info_get_property(hsi, MSI_PID_WORDCOUNT, &type, &int_value, NULL, NULL, NULL); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_I4, "Expected VT_I4, got %u\n", type); ok(int_value == 2, "Expected 2, got %d\n", int_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_SECURITY, &type, &int_value, NULL, NULL, NULL); + r = libmsi_summary_info_get_property(hsi, MSI_PID_SECURITY, &type, &int_value, NULL, NULL, NULL); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_I4, "Expected VT_I4, got %u\n", type); ok(int_value == 2, "Expected 2, got %d\n", int_value); size = sizeof(str_value); - r = MsiSummaryInfoGetProperty(hsi, MSI_PID_APPNAME, &type, NULL, NULL, str_value, &size); + r = libmsi_summary_info_get_property(hsi, MSI_PID_APPNAME, &type, NULL, NULL, str_value, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); ok(type == VT_LPSTR, "Expected VT_LPSTR, got %u\n", type); ok(!strcmp(str_value, "Vim"), "Expected \"Vim\", got %s\n", str_value); - MsiCloseHandle(hsi); - MsiCloseHandle(hdb); + libmsi_unref(hsi); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -2241,7 +2241,7 @@ static void test_msiimport(void) GetCurrentDirectoryA(MAX_PATH, CURR_DIR); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); r = add_table_to_db(hdb, test_data); @@ -2258,13 +2258,13 @@ static void test_msiimport(void) query = NULL; sql = "SELECT * FROM `TestTable`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_NAMES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 9, "Expected 9, got %d\n", count); ok(check_record(rec, 1, "FirstPrimaryColumn"), "Expected FirstPrimaryColumn\n"); ok(check_record(rec, 2, "SecondPrimaryColumn"), "Expected SecondPrimaryColumn\n"); @@ -2275,12 +2275,12 @@ static void test_msiimport(void) ok(check_record(rec, 7, "String"), "Expected String\n"); ok(check_record(rec, 8, "LocalizableString"), "Expected LocalizableString\n"); ok(check_record(rec, 9, "LocalizableStringNullable"), "Expected LocalizableStringNullable\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 9, "Expected 9, got %d\n", count); ok(check_record(rec, 1, "s255"), "Expected s255\n"); ok(check_record(rec, 2, "i2"), "Expected i2\n"); @@ -2291,7 +2291,7 @@ static void test_msiimport(void) ok(check_record(rec, 7, "S255"), "Expected S255\n"); ok(check_record(rec, 8, "S0"), "Expected S0\n"); ok(check_record(rec, 9, "s0"), "Expected s0\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); sql = "SELECT * FROM `TestTable`"; r = do_query(hdb, sql, &rec); @@ -2301,86 +2301,86 @@ static void test_msiimport(void) ok(check_record(rec, 8, "localizable"), "Expected 'localizable'\n"); ok(check_record(rec, 9, "duh"), "Expected 'duh'\n"); - i = MsiRecordGetInteger(rec, 2); + i = libmsi_record_get_integer(rec, 2); ok(i == 5, "Expected 5, got %d\n", i); - i = MsiRecordGetInteger(rec, 3); + i = libmsi_record_get_integer(rec, 3); ok(i == 2, "Expected 2, got %d\n", i); - i = MsiRecordGetInteger(rec, 4); + i = libmsi_record_get_integer(rec, 4); ok(i == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", i); - i = MsiRecordGetInteger(rec, 5); + i = libmsi_record_get_integer(rec, 5); ok(i == 2147483640, "Expected 2147483640, got %d\n", i); - i = MsiRecordGetInteger(rec, 6); + i = libmsi_record_get_integer(rec, 6); ok(i == -2147483640, "Expected -2147483640, got %d\n", i); - MsiCloseHandle(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_unref(rec); + libmsi_query_close(query); + libmsi_unref(query); query = NULL; sql = "SELECT * FROM `TwoPrimary`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_NAMES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 2, "Expected 2, got %d\n", count); ok(check_record(rec, 1, "PrimaryOne"), "Expected PrimaryOne\n"); ok(check_record(rec, 2, "PrimaryTwo"), "Expected PrimaryTwo\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 2, "Expected 2, got %d\n", count); ok(check_record(rec, 1, "s255"), "Expected s255\n"); ok(check_record(rec, 2, "s255"), "Expected s255\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(check_record(rec, 1, "papaya"), "Expected 'papaya'\n"); ok(check_record(rec, 2, "leaf"), "Expected 'leaf'\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(check_record(rec, 1, "papaya"), "Expected 'papaya'\n"); ok(check_record(rec, 2, "flower"), "Expected 'flower'\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(query); + r = libmsi_query_close(query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(query); + libmsi_unref(query); query = NULL; sql = "SELECT * FROM `Table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_NAMES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 6, "Expected 6, got %d\n", count); ok(check_record(rec, 1, "A"), "Expected A\n"); ok(check_record(rec, 2, "B"), "Expected B\n"); @@ -2388,12 +2388,12 @@ static void test_msiimport(void) ok(check_record(rec, 4, "D"), "Expected D\n"); ok(check_record(rec, 5, "E"), "Expected E\n"); ok(check_record(rec, 6, "F"), "Expected F\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 6, "Expected 6, got %d\n", count); ok(check_record(rec, 1, "s72"), "Expected s72\n"); ok(check_record(rec, 2, "s72"), "Expected s72\n"); @@ -2401,20 +2401,20 @@ static void test_msiimport(void) ok(check_record(rec, 4, "s72"), "Expected s72\n"); ok(check_record(rec, 5, "s72"), "Expected s72\n"); ok(check_record(rec, 6, "s72"), "Expected s72\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); query = NULL; sql = "SELECT * FROM `Table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(check_record(rec, 1, "a"), "Expected 'a'\n"); ok(check_record(rec, 2, "b"), "Expected 'b'\n"); @@ -2423,9 +2423,9 @@ static void test_msiimport(void) ok(check_record(rec, 5, "e"), "Expected 'e'\n"); ok(check_record(rec, 6, "f"), "Expected 'f'\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(check_record(rec, 1, "g"), "Expected 'g'\n"); ok(check_record(rec, 2, "h"), "Expected 'h'\n"); @@ -2434,15 +2434,15 @@ static void test_msiimport(void) ok(check_record(rec, 5, "k"), "Expected 'k'\n"); ok(check_record(rec, 6, "l"), "Expected 'l'\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); - MsiCloseHandle(hdb); + libmsi_query_close(query); + libmsi_unref(query); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -2469,11 +2469,11 @@ static void test_binary_import(void) create_file_data("bin_import/filename1.ibd", "just some words", 15); /* import files into database */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok( r == ERROR_SUCCESS , "Failed to open database\n"); GetCurrentDirectory(MAX_PATH, path); - r = MsiDatabaseImport(hdb, path, "bin_import.idt"); + r = libmsi_database_import(hdb, path, "bin_import.idt"); ok(r == ERROR_SUCCESS , "Failed to import Binary table\n"); /* read file from the Binary table */ @@ -2482,21 +2482,21 @@ static void test_binary_import(void) ok(r == ERROR_SUCCESS, "SELECT query failed: %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, file, &size); + r = libmsi_record_get_string(rec, 1, file, &size); ok(r == ERROR_SUCCESS, "Failed to get string: %d\n", r); ok(!strcmp(file, "filename1"), "Expected 'filename1', got %s\n", file); size = MAX_PATH; memset(buf, 0, MAX_PATH); - r = MsiRecordReadStream(rec, 2, buf, &size); + r = libmsi_record_save_stream(rec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Failed to get stream: %d\n", r); ok(!strcmp(buf, "just some words"), "Expected 'just some words', got %s\n", buf); - r = MsiCloseHandle(rec); + r = libmsi_unref(rec); ok(r == ERROR_SUCCESS , "Failed to close record handle\n"); - r = MsiCloseHandle(hdb); + r = libmsi_unref(hdb); ok(r == ERROR_SUCCESS , "Failed to close database\n"); DeleteFile("bin_import/filename1.ibd"); @@ -2514,20 +2514,20 @@ static void test_markers(void) hdb = create_db(); ok( hdb, "failed to create db\n"); - rec = MsiCreateRecord(3); - MsiRecordSetString(rec, 1, "Table"); - MsiRecordSetString(rec, 2, "Apples"); - MsiRecordSetString(rec, 3, "Oranges"); + rec = libmsi_record_create(3); + libmsi_record_set_string(rec, 1, "Table"); + libmsi_record_set_string(rec, 2, "Apples"); + libmsi_record_set_string(rec, 3, "Oranges"); /* try a legit create */ sql = "CREATE TABLE `Table` ( `One` SHORT NOT NULL, `Two` CHAR(255) PRIMARY KEY `One`)"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try table name as marker */ - rec = MsiCreateRecord(1); - MsiRecordSetString(rec, 1, "Fable"); + rec = libmsi_record_create(1); + libmsi_record_set_string(rec, 1, "Fable"); sql = "CREATE TABLE `?` ( `One` SHORT NOT NULL, `Two` CHAR(255) PRIMARY KEY `One`)"; r = run_query(hdb, rec, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); @@ -2540,32 +2540,32 @@ static void test_markers(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* try table name as marker without backticks */ - MsiRecordSetString(rec, 1, "Mable"); + libmsi_record_set_string(rec, 1, "Mable"); sql = "CREATE TABLE ? ( `One` SHORT NOT NULL, `Two` CHAR(255) PRIMARY KEY `One`)"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); /* try one column name as marker */ - MsiRecordSetString(rec, 1, "One"); + libmsi_record_set_string(rec, 1, "One"); sql = "CREATE TABLE `Mable` ( `?` SHORT NOT NULL, `Two` CHAR(255) PRIMARY KEY `One`)"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try column names as markers */ - rec = MsiCreateRecord(2); - MsiRecordSetString(rec, 1, "One"); - MsiRecordSetString(rec, 2, "Two"); + rec = libmsi_record_create(2); + libmsi_record_set_string(rec, 1, "One"); + libmsi_record_set_string(rec, 2, "Two"); sql = "CREATE TABLE `Mable` ( `?` SHORT NOT NULL, `?` CHAR(255) PRIMARY KEY `One`)"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try names with backticks */ - rec = MsiCreateRecord(3); - MsiRecordSetString(rec, 1, "One"); - MsiRecordSetString(rec, 2, "Two"); - MsiRecordSetString(rec, 3, "One"); + rec = libmsi_record_create(3); + libmsi_record_set_string(rec, 1, "One"); + libmsi_record_set_string(rec, 2, "Two"); + libmsi_record_set_string(rec, 3, "One"); sql = "CREATE TABLE `Mable` ( `?` SHORT NOT NULL, `?` CHAR(255) PRIMARY KEY `?`)"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); @@ -2579,26 +2579,26 @@ static void test_markers(void) sql = "CREATE TABLE `Mable` ( ? SHORT NOT NULL, ? CHAR(255) PRIMARY KEY ?)"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try one long marker */ - rec = MsiCreateRecord(1); - MsiRecordSetString(rec, 1, "`One` SHORT NOT NULL, `Two` CHAR(255) PRIMARY KEY `One`"); + rec = libmsi_record_create(1); + libmsi_record_set_string(rec, 1, "`One` SHORT NOT NULL, `Two` CHAR(255) PRIMARY KEY `One`"); sql = "CREATE TABLE `Mable` ( ? )"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try all names as markers */ - rec = MsiCreateRecord(4); - MsiRecordSetString(rec, 1, "Mable"); - MsiRecordSetString(rec, 2, "One"); - MsiRecordSetString(rec, 3, "Two"); - MsiRecordSetString(rec, 4, "One"); + rec = libmsi_record_create(4); + libmsi_record_set_string(rec, 1, "Mable"); + libmsi_record_set_string(rec, 2, "One"); + libmsi_record_set_string(rec, 3, "Two"); + libmsi_record_set_string(rec, 4, "One"); sql = "CREATE TABLE `?` ( `?` SHORT NOT NULL, `?` CHAR(255) PRIMARY KEY `?`)"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try a legit insert */ sql = "INSERT INTO `Table` ( `One`, `Two` ) VALUES ( 5, 'hello' )"; @@ -2609,83 +2609,83 @@ static void test_markers(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* try values as markers */ - rec = MsiCreateRecord(2); - MsiRecordSetInteger(rec, 1, 4); - MsiRecordSetString(rec, 2, "hi"); + rec = libmsi_record_create(2); + libmsi_record_set_int(rec, 1, 4); + libmsi_record_set_string(rec, 2, "hi"); sql = "INSERT INTO `Table` ( `One`, `Two` ) VALUES ( ?, '?' )"; r = run_query(hdb, rec, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try column names and values as markers */ - rec = MsiCreateRecord(4); - MsiRecordSetString(rec, 1, "One"); - MsiRecordSetString(rec, 2, "Two"); - MsiRecordSetInteger(rec, 3, 5); - MsiRecordSetString(rec, 4, "hi"); + rec = libmsi_record_create(4); + libmsi_record_set_string(rec, 1, "One"); + libmsi_record_set_string(rec, 2, "Two"); + libmsi_record_set_int(rec, 3, 5); + libmsi_record_set_string(rec, 4, "hi"); sql = "INSERT INTO `Table` ( `?`, `?` ) VALUES ( ?, '?' )"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try column names as markers */ - rec = MsiCreateRecord(2); - MsiRecordSetString(rec, 1, "One"); - MsiRecordSetString(rec, 2, "Two"); + rec = libmsi_record_create(2); + libmsi_record_set_string(rec, 1, "One"); + libmsi_record_set_string(rec, 2, "Two"); sql = "INSERT INTO `Table` ( `?`, `?` ) VALUES ( 3, 'yellow' )"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try table name as a marker */ - rec = MsiCreateRecord(1); - MsiRecordSetString(rec, 1, "Table"); + rec = libmsi_record_create(1); + libmsi_record_set_string(rec, 1, "Table"); sql = "INSERT INTO `?` ( `One`, `Two` ) VALUES ( 2, 'green' )"; r = run_query(hdb, rec, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try table name and values as markers */ - rec = MsiCreateRecord(3); - MsiRecordSetString(rec, 1, "Table"); - MsiRecordSetInteger(rec, 2, 10); - MsiRecordSetString(rec, 3, "haha"); + rec = libmsi_record_create(3); + libmsi_record_set_string(rec, 1, "Table"); + libmsi_record_set_int(rec, 2, 10); + libmsi_record_set_string(rec, 3, "haha"); sql = "INSERT INTO `?` ( `One`, `Two` ) VALUES ( ?, '?' )"; r = run_query(hdb, rec, sql); ok(r == ERROR_FUNCTION_FAILED, "Expected ERROR_FUNCTION_FAILED, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* try all markers */ - rec = MsiCreateRecord(5); - MsiRecordSetString(rec, 1, "Table"); - MsiRecordSetString(rec, 1, "One"); - MsiRecordSetString(rec, 1, "Two"); - MsiRecordSetInteger(rec, 2, 10); - MsiRecordSetString(rec, 3, "haha"); + rec = libmsi_record_create(5); + libmsi_record_set_string(rec, 1, "Table"); + libmsi_record_set_string(rec, 1, "One"); + libmsi_record_set_string(rec, 1, "Two"); + libmsi_record_set_int(rec, 2, 10); + libmsi_record_set_string(rec, 3, "haha"); sql = "INSERT INTO `?` ( `?`, `?` ) VALUES ( ?, '?' )"; r = run_query(hdb, rec, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* insert an integer as a string */ - rec = MsiCreateRecord(2); - MsiRecordSetString(rec, 1, "11"); - MsiRecordSetString(rec, 2, "hi"); + rec = libmsi_record_create(2); + libmsi_record_set_string(rec, 1, "11"); + libmsi_record_set_string(rec, 2, "hi"); sql = "INSERT INTO `Table` ( `One`, `Two` ) VALUES ( ?, '?' )"; r = run_query(hdb, rec, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* leave off the '' for the string */ - rec = MsiCreateRecord(2); - MsiRecordSetInteger(rec, 1, 12); - MsiRecordSetString(rec, 2, "hi"); + rec = libmsi_record_create(2); + libmsi_record_set_int(rec, 1, 12); + libmsi_record_set_string(rec, 2, "hi"); sql = "INSERT INTO `Table` ( `One`, `Two` ) VALUES ( ?, ? )"; r = run_query(hdb, rec, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); - MsiCloseHandle(hdb); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -2706,7 +2706,7 @@ static void test_handle_limit(void) for (i=0; i<MY_NQUERIES; i++) { static char szQueryBuf[256] = "SELECT * from `_Tables`"; hqueries[i] = 0xdeadbeeb; - r = MsiDatabaseOpenQuery(hdb, szQueryBuf, &hqueries[i]); + r = libmsi_database_open_query(hdb, szQueryBuf, &hqueries[i]); if( r != ERROR_SUCCESS || hqueries[i] == 0xdeadbeeb || hqueries[i] == 0 || (i && (hqueries[i] == hqueries[i-1]))) break; @@ -2716,8 +2716,8 @@ static void test_handle_limit(void) for (i=0; i<MY_NQUERIES; i++) { if (hqueries[i] != 0 && hqueries[i] != 0xdeadbeeb) { - MsiQueryClose(hqueries[i]); - r = MsiCloseHandle(hqueries[i]); + libmsi_query_close(hqueries[i]); + r = libmsi_unref(hqueries[i]); if (r != ERROR_SUCCESS) break; } @@ -2725,7 +2725,7 @@ static void test_handle_limit(void) ok( i == MY_NQUERIES, "problem closing queries\n"); - r = MsiCloseHandle(hdb); + r = libmsi_unref(hdb); ok( r == ERROR_SUCCESS, "failed to close database\n"); } @@ -2861,39 +2861,39 @@ static unsigned set_summary_info(LibmsiDatabase *hdb) LibmsiSummaryInfo *suminfo; /* build summary info */ - res = MsiGetSummaryInformation(hdb, 7, &suminfo); + res = libmsi_database_get_summary_info(hdb, 7, &suminfo); ok( res == ERROR_SUCCESS , "Failed to open summaryinfo\n" ); - res = MsiSummaryInfoSetProperty(suminfo,2, VT_LPSTR, 0,NULL, + res = libmsi_summary_info_set_property(suminfo,2, VT_LPSTR, 0,NULL, "Installation Database"); ok( res == ERROR_SUCCESS , "Failed to set summary info\n" ); - res = MsiSummaryInfoSetProperty(suminfo,3, VT_LPSTR, 0,NULL, + res = libmsi_summary_info_set_property(suminfo,3, VT_LPSTR, 0,NULL, "Installation Database"); ok( res == ERROR_SUCCESS , "Failed to set summary info\n" ); - res = MsiSummaryInfoSetProperty(suminfo,4, VT_LPSTR, 0,NULL, + res = libmsi_summary_info_set_property(suminfo,4, VT_LPSTR, 0,NULL, "Wine Hackers"); ok( res == ERROR_SUCCESS , "Failed to set summary info\n" ); - res = MsiSummaryInfoSetProperty(suminfo,7, VT_LPSTR, 0,NULL, + res = libmsi_summary_info_set_property(suminfo,7, VT_LPSTR, 0,NULL, ";1033,2057"); ok( res == ERROR_SUCCESS , "Failed to set summary info\n" ); - res = MsiSummaryInfoSetProperty(suminfo,9, VT_LPSTR, 0,NULL, + res = libmsi_summary_info_set_property(suminfo,9, VT_LPSTR, 0,NULL, "{913B8D18-FBB6-4CAC-A239-C74C11E3FA74}"); ok( res == ERROR_SUCCESS , "Failed to set summary info\n" ); - res = MsiSummaryInfoSetProperty(suminfo, 14, VT_I4, 100, NULL, NULL); + res = libmsi_summary_info_set_property(suminfo, 14, VT_I4, 100, NULL, NULL); ok( res == ERROR_SUCCESS , "Failed to set summary info\n" ); - res = MsiSummaryInfoSetProperty(suminfo, 15, VT_I4, 0, NULL, NULL); + res = libmsi_summary_info_set_property(suminfo, 15, VT_I4, 0, NULL, NULL); ok( res == ERROR_SUCCESS , "Failed to set summary info\n" ); - res = MsiSummaryInfoPersist(suminfo); + res = libmsi_summary_info_persist(suminfo); ok( res == ERROR_SUCCESS , "Failed to make summary info persist\n" ); - res = MsiCloseHandle( suminfo); + res = libmsi_unref( suminfo); ok( res == ERROR_SUCCESS , "Failed to close suminfo\n" ); return res; @@ -2907,12 +2907,12 @@ static LibmsiDatabase *create_package_db(const char *filename) DeleteFile(msifile); /* create an empty database */ - res = MsiOpenDatabase(filename, LIBMSI_DB_OPEN_CREATE, &hdb ); + res = libmsi_database_open(filename, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( res == ERROR_SUCCESS , "Failed to create database\n" ); if( res != ERROR_SUCCESS ) return hdb; - res = MsiDatabaseCommit( hdb ); + res = libmsi_database_commit( hdb ); ok( res == ERROR_SUCCESS , "Failed to commit database\n" ); res = set_summary_info(hdb); @@ -2961,69 +2961,69 @@ static void test_try_transform(void) r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "failed to add table\n"); - hrec = MsiCreateRecord(2); - r = MsiRecordSetInteger(hrec, 1, 2); + hrec = libmsi_record_create(2); + r = libmsi_record_set_int(hrec, 1, 2); ok(r == ERROR_SUCCESS, "failed to set integer\n"); write_file("testdata.bin", "lamyon", 6); - r = MsiRecordSetStream(hrec, 2, "testdata.bin"); + r = libmsi_record_load_stream(hrec, 2, "testdata.bin"); ok(r == ERROR_SUCCESS, "failed to set stream\n"); sql = "INSERT INTO `BINARY` ( `ID`, `BLOB` ) VALUES ( ?, ? )"; r = run_query(hdb, hrec, sql); ok(r == ERROR_SUCCESS, "failed to add row with blob\n"); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiDatabaseCommit( hdb ); + r = libmsi_database_commit( hdb ); ok( r == ERROR_SUCCESS , "Failed to commit database\n" ); - MsiCloseHandle( hdb ); + libmsi_unref( hdb ); DeleteFileA("testdata.bin"); generate_transform_manual(); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_DIRECT, &hdb ); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_DIRECT, &hdb ); ok( r == ERROR_SUCCESS , "Failed to create database\n" ); - r = MsiDatabaseApplyTransform( hdb, mstfile, 0 ); + r = libmsi_database_apply_transform( hdb, mstfile, 0 ); ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r ); - MsiDatabaseCommit( hdb ); + libmsi_database_commit( hdb ); /* check new values */ hrec = 0; sql = "select `BAR`,`CAR` from `AAR` where `BAR` = 1 AND `CAR` = 'vw'"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "select query failed\n"); - MsiCloseHandle(hrec); + libmsi_unref(hrec); sql = "select `BAR`,`CAR` from `AAR` where `BAR` = 2 AND `CAR` = 'bmw'"; hrec = 0; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "select query failed\n"); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* check updated values */ hrec = 0; sql = "select `NOO`,`OOO` from `MOO` where `NOO` = 1 AND `OOO` = 'c'"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "select query failed\n"); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* check unchanged value */ hrec = 0; sql = "select `NOO`,`OOO` from `MOO` where `NOO` = 2 AND `OOO` = 'b'"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "select query failed\n"); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* check deleted value */ hrec = 0; sql = "select * from `MOO` where `NOO` = 3"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "select query failed\n"); - if (hrec) MsiCloseHandle(hrec); + if (hrec) libmsi_unref(hrec); /* check added stream */ hrec = 0; @@ -3033,65 +3033,65 @@ static void test_try_transform(void) /* check the contents of the stream */ sz = sizeof buffer; - r = MsiRecordReadStream( hrec, 1, buffer, &sz ); + r = libmsi_record_save_stream( hrec, 1, buffer, &sz ); ok(r == ERROR_SUCCESS, "read stream failed\n"); ok(!memcmp(buffer, "naengmyon", 9), "stream data was wrong\n"); ok(sz == 9, "stream data was wrong size\n"); - if (hrec) MsiCloseHandle(hrec); + if (hrec) libmsi_unref(hrec); /* check the validity of the table with a deleted row */ hrec = 0; sql = "select * from `MOO`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "open query failed\n"); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "query execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "query fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); sz = sizeof buffer; - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "record get string failed\n"); ok(!strcmp(buffer, "c"), "Expected c, got %s\n", buffer); - r = MsiRecordGetInteger(hrec, 3); + r = libmsi_record_get_integer(hrec, 3); ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); - r = MsiRecordGetInteger(hrec, 4); + r = libmsi_record_get_integer(hrec, 4); ok(r == 5, "Expected 5, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "query fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 2, "Expected 2, got %d\n", r); sz = sizeof buffer; - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "record get string failed\n"); ok(!strcmp(buffer, "b"), "Expected b, got %s\n", buffer); - r = MsiRecordGetInteger(hrec, 3); + r = libmsi_record_get_integer(hrec, 3); ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); - r = MsiRecordGetInteger(hrec, 4); + r = libmsi_record_get_integer(hrec, 4); ok(r == 0x80000000, "Expected 0x80000000, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "query fetch succeeded\n"); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); #if 0 LibmsiObject *hpkg = 0; @@ -3110,11 +3110,11 @@ static void test_try_transform(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "val"), "Expected val, got %s\n", buffer); - MsiCloseHandle(hpkg); + libmsi_unref(hpkg); #endif error: - MsiCloseHandle(hdb); + libmsi_unref(hdb); DeleteFile(msifile); DeleteFile(mstfile); } @@ -3338,90 +3338,90 @@ static void test_join(void) "FROM `Component`, `FeatureComponents` " "WHERE `Component`.`Component` = `FeatureComponents`.`Component_` " "ORDER BY `Feature_`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); ok( !strcmp( buf, join_res_first[i].one ), "For (row %d, column 1) expected '%s', got %s\n", i, join_res_first[i].one, buf ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); ok( !strcmp( buf, join_res_first[i].two ), "For (row %d, column 2) expected '%s', got %s\n", i, join_res_first[i].two, buf ); i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( i == 5, "Expected 5 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); /* try a join without a WHERE condition */ sql = "SELECT `Component`.`ComponentId`, `FeatureComponents`.`Feature_` " "FROM `Component`, `FeatureComponents` "; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( i == 24, "Expected 24 rows, got %d\n", i ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT DISTINCT Component, ComponentId FROM FeatureComponents, Component " "WHERE FeatureComponents.Component_=Component.Component " "AND (Feature_='nasalis') ORDER BY Feature_"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_second[i].one )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_second[i].two )) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); @@ -3429,40 +3429,40 @@ static void test_join(void) ok( i == 2, "Expected 2 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `StdDlls`.`File`, `Binary`.`Data` " "FROM `StdDlls`, `Binary` " "WHERE `StdDlls`.`Binary_` = `Binary`.`Name` " "ORDER BY `File`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_third[i].one ) ) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_third[i].two ) ) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); @@ -3470,322 +3470,322 @@ static void test_join(void) ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `StdDlls`.`Binary_`, `Binary`.`Name` " "FROM `StdDlls`, `Binary` " "WHERE `StdDlls`.`File` = `Binary`.`Data` " "ORDER BY `Name`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_fourth[i].one )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_fourth[i].two )) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); ok( i == 1, "Expected 1 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `Component`.`ComponentId`, `FeatureComponents`.`Feature_` " "FROM `Component`, `FeatureComponents` " "WHERE `Component`.`Component` = 'zygomatic' " "AND `FeatureComponents`.`Component_` = 'maxilla' " "ORDER BY `Feature_`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_fifth[i].one )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_fifth[i].two )) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); ok( i == 1, "Expected 1 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `Component`.`ComponentId`, `FeatureComponents`.`Feature_` " "FROM `Component`, `FeatureComponents` " "WHERE `Component` = 'zygomatic' " "ORDER BY `Feature_`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_sixth[i].one )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_sixth[i].two )) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); ok( i == 6, "Expected 6 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `Component`.`ComponentId`, `FeatureComponents`.`Feature_` " "FROM `Component`, `FeatureComponents` " "WHERE `Component` = 'zygomatic' " "AND `Feature_` = 'nasalis' " "ORDER BY `Feature_`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_seventh[i].one )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_seventh[i].two )) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); ok( i == 3, "Expected 3 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `StdDlls`.`File`, `Binary`.`Data` " "FROM `StdDlls`, `Binary` "; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 2, "Expected 2 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_eighth[i].one )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_eighth[i].four )) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); ok( i == 6, "Expected 6 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `StdDlls`, `Binary` "; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 4, "Expected 4 record fields, got %d\n", count ); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_eighth[i].one )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 2, buf, &size ); + r = libmsi_record_get_string( hrec, 2, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_eighth[i].two )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 3, buf, &size ); + r = libmsi_record_get_string( hrec, 3, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_eighth[i].three )) data_correct = false; size = MAX_PATH; - r = MsiRecordGetString( hrec, 4, buf, &size ); + r = libmsi_record_get_string( hrec, 4, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); if( strcmp( buf, join_res_eighth[i].four )) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); ok( i == 6, "Expected 6 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `One`, `Two`, `Three` "; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); i = 0; data_correct = true; - while ((r = MsiQueryFetch(hquery, &hrec)) == ERROR_SUCCESS) + while ((r = libmsi_query_fetch(hquery, &hrec)) == ERROR_SUCCESS) { - count = MsiRecordGetFieldCount( hrec ); + count = libmsi_record_get_field_count( hrec ); ok( count == 6, "Expected 6 record fields, got %d\n", count ); - r = MsiRecordGetInteger( hrec, 1 ); + r = libmsi_record_get_integer( hrec, 1 ); if( r != join_res_ninth[i].one ) data_correct = false; - r = MsiRecordGetInteger( hrec, 2 ); + r = libmsi_record_get_integer( hrec, 2 ); if( r != join_res_ninth[i].two ) data_correct = false; - r = MsiRecordGetInteger( hrec, 3 ); + r = libmsi_record_get_integer( hrec, 3 ); if( r != join_res_ninth[i].three ) data_correct = false; - r = MsiRecordGetInteger( hrec, 4 ); + r = libmsi_record_get_integer( hrec, 4 ); if( r != join_res_ninth[i].four ) data_correct = false; - r = MsiRecordGetInteger( hrec, 5 ); + r = libmsi_record_get_integer( hrec, 5 ); if( r != join_res_ninth[i].five ) data_correct = false; - r = MsiRecordGetInteger( hrec, 6); + r = libmsi_record_get_integer( hrec, 6); if( r != join_res_ninth[i].six ) data_correct = false; i++; - MsiCloseHandle(hrec); + libmsi_unref(hrec); } ok( data_correct, "data returned in the wrong order\n"); ok( i == 6, "Expected 6 rows, got %d\n", i ); ok( r == ERROR_NO_MORE_ITEMS, "expected no more items: %d\n", r ); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Four`, `Five`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Nonexistent`, `One`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r ); @@ -3794,59 +3794,59 @@ static void test_join(void) "FROM `Component`, `FeatureComponents` " "WHERE `Component`.`Component` = `FeatureComponents`.`Component_` " "ORDER BY `Feature_`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok( r == ERROR_SUCCESS, "failed to open query: %d\n", r ); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok( r == ERROR_SUCCESS, "failed to execute query: %d\n", r ); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok( r == ERROR_SUCCESS, "failed to fetch query: %d\n", r ); - r = MsiRecordSetString( hrec, 1, "epicranius" ); + r = libmsi_record_set_string( hrec, 1, "epicranius" ); ok( r == ERROR_SUCCESS, "failed to set string: %d\n", r ); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); ok( r == ERROR_SUCCESS, "failed to update row: %d\n", r ); /* try another valid operation for joins */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_REFRESH, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_REFRESH, hrec); todo_wine ok( r == ERROR_SUCCESS, "failed to refresh row: %d\n", r ); /* try an invalid operation for joins */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_DELETE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_DELETE, hrec); ok( r == ERROR_FUNCTION_FAILED, "unexpected result: %d\n", r ); - r = MsiRecordSetString( hrec, 2, "epicranius" ); + r = libmsi_record_set_string( hrec, 2, "epicranius" ); ok( r == ERROR_SUCCESS, "failed to set string: %d\n", r ); /* primary key cannot be updated */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); ok( r == ERROR_FUNCTION_FAILED, "failed to update row: %d\n", r ); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); size = MAX_PATH; - r = MsiRecordGetString( hrec, 1, buf, &size ); + r = libmsi_record_get_string( hrec, 1, buf, &size ); ok( r == ERROR_SUCCESS, "failed to get record string: %d\n", r ); ok( !strcmp( buf, "epicranius" ), "expected 'epicranius', got %s\n", buf ); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); - MsiCloseHandle(hdb); + libmsi_unref(hdb); DeleteFile(msifile); } @@ -3861,46 +3861,46 @@ static void test_temporary_table(void) char buf[0x10]; unsigned sz; - cond = MsiDatabaseIsTablePersistent(0, NULL); + cond = libmsi_database_is_table_persistent(0, NULL); ok( cond == LIBMSI_CONDITION_ERROR, "wrong return condition\n"); hdb = create_db(); ok( hdb, "failed to create db\n"); - cond = MsiDatabaseIsTablePersistent(hdb, NULL); + cond = libmsi_database_is_table_persistent(hdb, NULL); ok( cond == LIBMSI_CONDITION_ERROR, "wrong return condition\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "_Tables"); + cond = libmsi_database_is_table_persistent(hdb, "_Tables"); ok( cond == LIBMSI_CONDITION_NONE, "wrong return condition\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "_Columns"); + cond = libmsi_database_is_table_persistent(hdb, "_Columns"); ok( cond == LIBMSI_CONDITION_NONE, "wrong return condition\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "_Storages"); + cond = libmsi_database_is_table_persistent(hdb, "_Storages"); ok( cond == LIBMSI_CONDITION_NONE, "wrong return condition\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "_Streams"); + cond = libmsi_database_is_table_persistent(hdb, "_Streams"); ok( cond == LIBMSI_CONDITION_NONE, "wrong return condition\n"); sql = "CREATE TABLE `P` ( `B` SHORT NOT NULL, `C` CHAR(255) PRIMARY KEY `C`)"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "failed to add table\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "P"); + cond = libmsi_database_is_table_persistent(hdb, "P"); ok( cond == LIBMSI_CONDITION_TRUE, "wrong return condition\n"); sql = "CREATE TABLE `P2` ( `B` SHORT NOT NULL, `C` CHAR(255) PRIMARY KEY `C`) HOLD"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "failed to add table\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "P2"); + cond = libmsi_database_is_table_persistent(hdb, "P2"); ok( cond == LIBMSI_CONDITION_TRUE, "wrong return condition\n"); sql = "CREATE TABLE `T` ( `B` SHORT NOT NULL TEMPORARY, `C` CHAR(255) TEMPORARY PRIMARY KEY `C`) HOLD"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "failed to add table\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "T"); + cond = libmsi_database_is_table_persistent(hdb, "T"); ok( cond == LIBMSI_CONDITION_FALSE, "wrong return condition\n"); sql = "CREATE TABLE `T2` ( `B` SHORT NOT NULL TEMPORARY, `C` CHAR(255) TEMPORARY PRIMARY KEY `C`)"; @@ -3909,25 +3909,25 @@ static void test_temporary_table(void) query = NULL; sql = "SELECT * FROM `T2`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - cond = MsiDatabaseIsTablePersistent(hdb, "T2"); + cond = libmsi_database_is_table_persistent(hdb, "T2"); ok( cond == LIBMSI_CONDITION_NONE, "wrong return condition\n"); sql = "CREATE TABLE `T3` ( `B` SHORT NOT NULL TEMPORARY, `C` CHAR(255) PRIMARY KEY `C`)"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "failed to add table\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "T3"); + cond = libmsi_database_is_table_persistent(hdb, "T3"); ok( cond == LIBMSI_CONDITION_TRUE, "wrong return condition\n"); sql = "CREATE TABLE `T4` ( `B` SHORT NOT NULL, `C` CHAR(255) TEMPORARY PRIMARY KEY `C`)"; r = run_query(hdb, 0, sql); ok(r == ERROR_FUNCTION_FAILED, "failed to add table\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "T4"); + cond = libmsi_database_is_table_persistent(hdb, "T4"); ok( cond == LIBMSI_CONDITION_NONE, "wrong return condition\n"); sql = "CREATE TABLE `T5` ( `B` SHORT NOT NULL TEMP, `C` CHAR(255) TEMP PRIMARY KEY `C`) HOLD"; @@ -3936,44 +3936,44 @@ static void test_temporary_table(void) query = NULL; sql = "select * from `T`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "failed to query table\n"); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "failed to get column info\n"); sz = sizeof buf; - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "failed to get string\n"); ok( 0 == strcmp("G255", buf), "wrong column type\n"); sz = sizeof buf; - r = MsiRecordGetString(rec, 2, buf, &sz); + r = libmsi_record_get_string(rec, 2, buf, &sz); ok(r == ERROR_SUCCESS, "failed to get string\n"); ok( 0 == strcmp("j2", buf), "wrong column type\n"); - MsiCloseHandle( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_unref( rec ); + libmsi_query_close( query ); + libmsi_unref( query ); /* query the table data */ rec = 0; r = do_query(hdb, "select * from `_Tables` where `Name` = 'T'", &rec); ok( r == ERROR_SUCCESS, "temporary table exists in _Tables\n"); - MsiCloseHandle( rec ); + libmsi_unref( rec ); /* query the column data */ rec = 0; r = do_query(hdb, "select * from `_Columns` where `Table` = 'T' AND `Name` = 'B'", &rec); ok( r == ERROR_NO_MORE_ITEMS, "temporary table exists in _Columns\n"); - if (rec) MsiCloseHandle( rec ); + if (rec) libmsi_unref( rec ); r = do_query(hdb, "select * from `_Columns` where `Table` = 'T' AND `Name` = 'C'", &rec); ok( r == ERROR_NO_MORE_ITEMS, "temporary table exists in _Columns\n"); - if (rec) MsiCloseHandle( rec ); + if (rec) libmsi_unref( rec ); - MsiCloseHandle( hdb ); + libmsi_unref( hdb ); DeleteFile(msifile); } @@ -3992,7 +3992,7 @@ static void test_alter(void) r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "failed to add table\n"); - cond = MsiDatabaseIsTablePersistent(hdb, "T"); + cond = libmsi_database_is_table_persistent(hdb, "T"); ok( cond == LIBMSI_CONDITION_FALSE, "wrong return condition\n"); sql = "ALTER TABLE `T` HOLD"; @@ -4151,7 +4151,7 @@ static void test_alter(void) r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle( hdb ); + libmsi_unref( hdb ); DeleteFile(msifile); } @@ -4164,9 +4164,9 @@ static void test_integers(void) const char *sql; unsigned r; - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); /* create a table */ sql = "CREATE TABLE `integers` ( " @@ -4174,23 +4174,23 @@ static void test_integers(void) "`five` SHORT NOT NULL, `six` INT NOT NULL, " "`seven` INTEGER NOT NULL, `eight` LONG NOT NULL " "PRIMARY KEY `one`)"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(query, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_open_query(hdb, sql, &query); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(query, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `integers`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_NAMES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 8, "Expected 8, got %d\n", count); ok(check_record(rec, 1, "one"), "Expected one\n"); ok(check_record(rec, 2, "two"), "Expected two\n"); @@ -4200,12 +4200,12 @@ static void test_integers(void) ok(check_record(rec, 6, "six"), "Expected six\n"); ok(check_record(rec, 7, "seven"), "Expected seven\n"); ok(check_record(rec, 8, "eight"), "Expected eight\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - count = MsiRecordGetFieldCount(rec); + count = libmsi_record_get_field_count(rec); ok(count == 8, "Expected 8, got %d\n", count); ok(check_record(rec, 1, "I2"), "Expected I2\n"); ok(check_record(rec, 2, "I2"), "Expected I2\n"); @@ -4215,74 +4215,74 @@ static void test_integers(void) ok(check_record(rec, 6, "i2"), "Expected i2\n"); ok(check_record(rec, 7, "i2"), "Expected i2\n"); ok(check_record(rec, 8, "i4"), "Expected i4\n"); - MsiCloseHandle(rec); + libmsi_unref(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); /* insert values into it, NULL where NOT NULL is specified */ query = NULL; sql = "INSERT INTO `integers` ( `one`, `two`, `three`, `four`, `five`, `six`, `seven`, `eight` )" "VALUES('', '', '', '', '', '', '', '')"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_FUNCTION_FAILED, "Expected ERROR_FUNCTION_FAILED, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); sql = "SELECT * FROM `integers`"; r = do_query(hdb, sql, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiRecordGetFieldCount(rec); + r = libmsi_record_get_field_count(rec); ok(r == -1, "record count wrong: %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); /* insert legitimate values into it */ query = NULL; sql = "INSERT INTO `integers` ( `one`, `two`, `three`, `four`, `five`, `six`, `seven`, `eight` )" "VALUES('', '2', '', '4', '5', '6', '7', '8')"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `integers`"; r = do_query(hdb, sql, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetFieldCount(rec); + r = libmsi_record_get_field_count(rec); ok(r == 8, "record count wrong: %d\n", r); - i = MsiRecordGetInteger(rec, 1); + i = libmsi_record_get_integer(rec, 1); ok(i == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", i); - i = MsiRecordGetInteger(rec, 3); + i = libmsi_record_get_integer(rec, 3); ok(i == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", i); - i = MsiRecordGetInteger(rec, 2); + i = libmsi_record_get_integer(rec, 2); ok(i == 2, "Expected 2, got %d\n", i); - i = MsiRecordGetInteger(rec, 4); + i = libmsi_record_get_integer(rec, 4); ok(i == 4, "Expected 4, got %d\n", i); - i = MsiRecordGetInteger(rec, 5); + i = libmsi_record_get_integer(rec, 5); ok(i == 5, "Expected 5, got %d\n", i); - i = MsiRecordGetInteger(rec, 6); + i = libmsi_record_get_integer(rec, 6); ok(i == 6, "Expected 6, got %d\n", i); - i = MsiRecordGetInteger(rec, 7); + i = libmsi_record_get_integer(rec, 7); ok(i == 7, "Expected 7, got %d\n", i); - i = MsiRecordGetInteger(rec, 8); + i = libmsi_record_get_integer(rec, 8); ok(i == 8, "Expected 8, got %d\n", i); - MsiCloseHandle(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_unref(rec); + libmsi_query_close(query); + libmsi_unref(query); - r = MsiDatabaseCommit(hdb); - ok(r == ERROR_SUCCESS, "MsiDatabaseCommit failed\n"); + r = libmsi_database_commit(hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_commit failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); r = DeleteFile(msifile); ok(r == true, "file didn't exist after commit\n"); @@ -4298,9 +4298,9 @@ static void test_update(void) unsigned size; unsigned r; - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); /* create the Control table */ sql = "CREATE TABLE `Control` ( " @@ -4308,14 +4308,14 @@ static void test_update(void) "`X` SHORT NOT NULL, `Y` SHORT NOT NULL, `Width` SHORT NOT NULL, `Height` SHORT NOT NULL," "`Attributes` LONG, `Property` CHAR(50), `Text` CHAR(0) LOCALIZABLE, " "`Control_Next` CHAR(50), `Help` CHAR(50) LOCALIZABLE PRIMARY KEY `Dialog_`, `Control`)"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(query, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_open_query(hdb, sql, &query); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(query, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* add a control */ query = NULL; @@ -4323,14 +4323,14 @@ static void test_update(void) "`Dialog_`, `Control`, `Type`, `X`, `Y`, `Width`, `Height`, " "`Property`, `Text`, `Control_Next`, `Help` )" "VALUES('ErrorDialog', 'ErrorText', '1', '5', '5', '5', '5', '', '', '', '')"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* add a second control */ query = NULL; @@ -4338,14 +4338,14 @@ static void test_update(void) "`Dialog_`, `Control`, `Type`, `X`, `Y`, `Width`, `Height`, " "`Property`, `Text`, `Control_Next`, `Help` )" "VALUES('ErrorDialog', 'Button', '1', '5', '5', '5', '5', '', '', '', '')"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* add a third control */ query = NULL; @@ -4353,186 +4353,186 @@ static void test_update(void) "`Dialog_`, `Control`, `Type`, `X`, `Y`, `Width`, `Height`, " "`Property`, `Text`, `Control_Next`, `Help` )" "VALUES('AnotherDialog', 'ErrorText', '1', '5', '5', '5', '5', '', '', '', '')"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* bad table */ query = NULL; sql = "UPDATE `NotATable` SET `Text` = 'this is text' WHERE `Dialog_` = 'ErrorDialog'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); /* bad set column */ query = NULL; sql = "UPDATE `Control` SET `NotAColumn` = 'this is text' WHERE `Dialog_` = 'ErrorDialog'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); /* bad where condition */ query = NULL; sql = "UPDATE `Control` SET `Text` = 'this is text' WHERE `NotAColumn` = 'ErrorDialog'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); /* just the dialog_ specified */ query = NULL; sql = "UPDATE `Control` SET `Text` = 'this is text' WHERE `Dialog_` = 'ErrorDialog'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* check the modified text */ query = NULL; sql = "SELECT `Text` FROM `Control` WHERE `Control` = 'ErrorText'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, result, &size); + r = libmsi_record_get_string(rec, 1, result, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, result, &size); + r = libmsi_record_get_string(rec, 1, result, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strlen(result), "Expected an empty string, got %s\n", result); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* dialog_ and control specified */ query = NULL; sql = "UPDATE `Control` SET `Text` = 'this is text' WHERE `Dialog_` = 'ErrorDialog' AND `Control` = 'ErrorText'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* check the modified text */ query = NULL; sql = "SELECT `Text` FROM `Control` WHERE `Control` = 'ErrorText'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, result, &size); + r = libmsi_record_get_string(rec, 1, result, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, result, &size); + r = libmsi_record_get_string(rec, 1, result, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strlen(result), "Expected an empty string, got %s\n", result); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* no where condition */ query = NULL; sql = "UPDATE `Control` SET `Text` = 'this is text'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* check the modified text */ query = NULL; sql = "SELECT `Text` FROM `Control`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, result, &size); + r = libmsi_record_get_string(rec, 1, result, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, result, &size); + r = libmsi_record_get_string(rec, 1, result, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(rec, 1, result, &size); + r = libmsi_record_get_string(rec, 1, result, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(result, "this is text"), "Expected `this is text`, got %s\n", result); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(query); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(query); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(query); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(query); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "CREATE TABLE `Apple` ( `Banana` CHAR(72) NOT NULL, " "`Orange` CHAR(72), `Pear` INT PRIMARY KEY `Banana`)"; @@ -4554,57 +4554,57 @@ static void test_update(void) r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - rec = MsiCreateRecord(2); - MsiRecordSetInteger(rec, 1, 8); - MsiRecordSetString(rec, 2, "two"); + rec = libmsi_record_create(2); + libmsi_record_set_int(rec, 1, 8); + libmsi_record_set_string(rec, 2, "two"); sql = "UPDATE `Apple` SET `Pear` = ? WHERE `Orange` = ?"; r = run_query(hdb, rec, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); query = NULL; sql = "SELECT `Pear` FROM `Apple` ORDER BY `Orange`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == 8, "Expected 8, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == 8, "Expected 8, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == 5, "Expected 5, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expectd ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); - r = MsiDatabaseCommit(hdb); - ok(r == ERROR_SUCCESS, "MsiDatabaseCommit failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_commit(hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_commit failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); DeleteFile(msifile); } @@ -4615,8 +4615,8 @@ static void test_special_tables(void) LibmsiDatabase *hdb = 0; unsigned r; - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); sql = "CREATE TABLE `_Properties` ( " "`foo` INT NOT NULL, `bar` INT LOCALIZABLE PRIMARY KEY `foo`)"; @@ -4643,8 +4643,8 @@ static void test_special_tables(void) r = run_query(hdb, 0, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "created _Columns table\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); } static void test_tables_order(void) @@ -4657,8 +4657,8 @@ static void test_tables_order(void) char buffer[100]; unsigned sz; - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); sql = "CREATE TABLE `foo` ( " "`baz` INT NOT NULL PRIMARY KEY `baz`)"; @@ -4681,124 +4681,124 @@ static void test_tables_order(void) be in the same order as these names are created in the strings table. */ sql = "SELECT * FROM `_Tables`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "bar"), "Expected bar, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* The names of the tables in the _Columns table must be in the same order as these names are created in the strings table. */ sql = "SELECT * FROM `_Columns`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "bar"), "Expected bar, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "baz"), "Expected baz, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "bar"), "Expected bar, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "foo"), "Expected foo, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); DeleteFile(msifile); } @@ -4813,8 +4813,8 @@ static void test_rows_order(void) char buffer[100]; unsigned sz; - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); sql = "CREATE TABLE `foo` ( " "`bar` LONGCHAR NOT NULL PRIMARY KEY `bar`)"; @@ -4873,70 +4873,70 @@ static void test_rows_order(void) in the string table. */ sql = "SELECT * FROM `bar`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "A"), "Expected A, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "B"), "Expected B, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "C"), "Expected E, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "E"), "Expected E, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "D"), "Expected D, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "E"), "Expected E, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "F"), "Expected F, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "A"), "Expected A, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); DeleteFile(msifile); } @@ -4965,8 +4965,8 @@ static void test_collation(void) char buffer[100]; unsigned sz; - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); sql = "CREATE TABLE `bar` ( " "`foo` LONGCHAR NOT NULL, " @@ -5002,94 +5002,94 @@ static void test_collation(void) ok(r == ERROR_SUCCESS, "cannot create table %u\n", r); sql = "SELECT * FROM `bar`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "\2"), "Expected \\2, got '%s'\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "A"), "Expected A, got '%s'\n", buffer); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "\1"), "Expected \\1, got '%s'\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "B"), "Expected B, got '%s'\n", buffer); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!memcmp(buffer, letter_a_ring, sizeof(letter_a_ring)), "Expected %s, got %s\n", letter_a_ring, buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "C"), "Expected C, got %s\n", buffer); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!memcmp(buffer, letter_a_with_ring, sizeof(letter_a_with_ring)), "Expected %s, got %s\n", letter_a_with_ring, buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "D"), "Expected D, got %s\n", buffer); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiDatabaseOpenQuery(hdb, sql6, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql6, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!memcmp(buffer, letter_a_with_ring, sizeof(letter_a_with_ring)), "Expected %s, got %s\n", letter_a_with_ring, buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "D"), "Expected D, got %s\n", buffer); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_NO_MORE_ITEMS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_NO_MORE_ITEMS, "libmsi_query_fetch failed\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); DeleteFile(msifile); } @@ -5128,115 +5128,115 @@ static void test_select_markers(void) "( `One`, `Two`, `Three` ) VALUES ( 'banana', 'three', 3 )"); ok(r == S_OK, "cannot add file to the Media table: %d\n", r); - rec = MsiCreateRecord(2); - MsiRecordSetString(rec, 1, "apple"); - MsiRecordSetString(rec, 2, "two"); + rec = libmsi_record_create(2); + libmsi_record_set_string(rec, 1, "apple"); + libmsi_record_set_string(rec, 2, "two"); query = NULL; sql = "SELECT * FROM `Table` WHERE `One`=? AND `Two`=? ORDER BY `Three`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, rec); + r = libmsi_query_execute(query, rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &res); + r = libmsi_query_fetch(query, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(res, 1, buf, &size); + r = libmsi_record_get_string(res, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "apple"), "Expected apple, got %s\n", buf); size = MAX_PATH; - r = MsiRecordGetString(res, 2, buf, &size); + r = libmsi_record_get_string(res, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); - r = MsiRecordGetInteger(res, 3); + r = libmsi_record_get_integer(res, 3); ok(r == 1, "Expected 1, got %d\n", r); - MsiCloseHandle(res); + libmsi_unref(res); - r = MsiQueryFetch(query, &res); + r = libmsi_query_fetch(query, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(res, 1, buf, &size); + r = libmsi_record_get_string(res, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "apple"), "Expected apple, got %s\n", buf); size = MAX_PATH; - r = MsiRecordGetString(res, 2, buf, &size); + r = libmsi_record_get_string(res, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); - r = MsiRecordGetInteger(res, 3); + r = libmsi_record_get_integer(res, 3); ok(r == 2, "Expected 2, got %d\n", r); - MsiCloseHandle(res); + libmsi_unref(res); - r = MsiQueryFetch(query, &res); + r = libmsi_query_fetch(query, &res); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiCloseHandle(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_unref(rec); + libmsi_query_close(query); + libmsi_unref(query); - rec = MsiCreateRecord(2); - MsiRecordSetString(rec, 1, "one"); - MsiRecordSetInteger(rec, 2, 1); + rec = libmsi_record_create(2); + libmsi_record_set_string(rec, 1, "one"); + libmsi_record_set_int(rec, 2, 1); query = NULL; sql = "SELECT * FROM `Table` WHERE `Two`<>? AND `Three`>? ORDER BY `Three`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, rec); + r = libmsi_query_execute(query, rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &res); + r = libmsi_query_fetch(query, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(res, 1, buf, &size); + r = libmsi_record_get_string(res, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "apple"), "Expected apple, got %s\n", buf); size = MAX_PATH; - r = MsiRecordGetString(res, 2, buf, &size); + r = libmsi_record_get_string(res, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); - r = MsiRecordGetInteger(res, 3); + r = libmsi_record_get_integer(res, 3); ok(r == 2, "Expected 2, got %d\n", r); - MsiCloseHandle(res); + libmsi_unref(res); - r = MsiQueryFetch(query, &res); + r = libmsi_query_fetch(query, &res); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(res, 1, buf, &size); + r = libmsi_record_get_string(res, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "banana"), "Expected banana, got %s\n", buf); size = MAX_PATH; - r = MsiRecordGetString(res, 2, buf, &size); + r = libmsi_record_get_string(res, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "three"), "Expected three, got %s\n", buf); - r = MsiRecordGetInteger(res, 3); + r = libmsi_record_get_integer(res, 3); ok(r == 3, "Expected 3, got %d\n", r); - MsiCloseHandle(res); + libmsi_unref(res); - r = MsiQueryFetch(query, &res); + r = libmsi_query_fetch(query, &res); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiCloseHandle(rec); - MsiQueryClose(query); - MsiCloseHandle(query); - MsiCloseHandle(hdb); + libmsi_unref(rec); + libmsi_query_close(query); + libmsi_unref(query); + libmsi_unref(hdb); DeleteFile(msifile); } @@ -5251,8 +5251,8 @@ static void test_querymodify_update(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); sql = "CREATE TABLE `table` (`A` INT, `B` INT PRIMARY KEY `A`)"; r = run_query( hdb, 0, sql ); @@ -5271,233 +5271,233 @@ static void test_querymodify_update(void) ok(r == ERROR_SUCCESS, "query failed\n"); sql = "SELECT `B` FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); - - r = MsiRecordSetInteger(hrec, 1, 0); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); + + r = libmsi_record_set_int(hrec, 1, 0); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed: %d\n", r); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed: %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); + + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 0, "Expected 0, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 3, "Expected 3, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 4, "Expected 4, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 5, "Expected 5, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 6, "Expected 6, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* loop through all elements */ sql = "SELECT `B` FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); while (true) { - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); if (r != ERROR_SUCCESS) break; - r = MsiRecordSetInteger(hrec, 1, 0); + r = libmsi_record_set_int(hrec, 1, 0); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed: %d\n", r); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed: %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); } - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); + + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 0, "Expected 0, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 3, "Expected 3, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 0, "Expected 0, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 5, "Expected 5, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 0, "Expected 0, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "CREATE TABLE `table2` (`A` INT, `B` INT PRIMARY KEY `A`)"; r = run_query( hdb, 0, sql ); ok(r == ERROR_SUCCESS, "query failed\n"); sql = "INSERT INTO `table2` (`A`, `B`) VALUES (?, ?)"; - r = MsiDatabaseOpenQuery( hdb, sql, &hquery ); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); + r = libmsi_database_open_query( hdb, sql, &hquery ); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); test_max = 100; offset = 1234; for(i = 0; i < test_max; i++) { - hrec = MsiCreateRecord( 2 ); - MsiRecordSetInteger( hrec, 1, test_max - i ); - MsiRecordSetInteger( hrec, 2, i ); + hrec = libmsi_record_create( 2 ); + libmsi_record_set_int( hrec, 1, test_max - i ); + libmsi_record_set_int( hrec, 2, i ); - r = MsiQueryExecute( hquery, hrec ); + r = libmsi_query_execute( hquery, hrec ); ok(r == ERROR_SUCCESS, "Got %d\n", r); - r = MsiCloseHandle( hrec ); + r = libmsi_unref( hrec ); ok(r == ERROR_SUCCESS, "Got %d\n", r); } - r = MsiQueryClose( hquery ); + r = libmsi_query_close( hquery ); ok(r == ERROR_SUCCESS, "Got %d\n", r); - r = MsiCloseHandle( hquery ); + r = libmsi_unref( hquery ); ok(r == ERROR_SUCCESS, "Got %d\n", r); /* Update. */ sql = "SELECT * FROM `table2` ORDER BY `B`"; - r = MsiDatabaseOpenQuery( hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute( hquery, 0 ); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query( hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute( hquery, 0 ); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); count = 0; - while (MsiQueryFetch( hquery, &hrec ) == ERROR_SUCCESS) + while (libmsi_query_fetch( hquery, &hrec ) == ERROR_SUCCESS) { - unsigned b = MsiRecordGetInteger( hrec, 2 ); + unsigned b = libmsi_record_get_integer( hrec, 2 ); - r = MsiRecordSetInteger( hrec, 2, b + offset); + r = libmsi_record_set_int( hrec, 2, b + offset); ok(r == ERROR_SUCCESS, "Got %d\n", r); - r = MsiQueryModify( hquery, LIBMSI_MODIFY_UPDATE, hrec ); + r = libmsi_query_modify( hquery, LIBMSI_MODIFY_UPDATE, hrec ); ok(r == ERROR_SUCCESS, "Got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); count++; } ok(count == test_max, "Got count %d\n", count); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* Recheck. */ sql = "SELECT * FROM `table2` ORDER BY `B`"; - r = MsiDatabaseOpenQuery( hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute( hquery, 0 ); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query( hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute( hquery, 0 ); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); count = 0; - while (MsiQueryFetch( hquery, &hrec ) == ERROR_SUCCESS) + while (libmsi_query_fetch( hquery, &hrec ) == ERROR_SUCCESS) { - unsigned a = MsiRecordGetInteger( hrec, 1 ); - unsigned b = MsiRecordGetInteger( hrec, 2 ); + unsigned a = libmsi_record_get_integer( hrec, 1 ); + unsigned b = libmsi_record_get_integer( hrec, 2 ); ok( ( test_max - a + offset) == b, "Got (%d, %d), expected (%d, %d)\n", a, b, test_max - a + offset, b); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); count++; } ok(count == test_max, "Got count %d\n", count); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiCloseHandle( hdb ); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase close failed\n"); + r = libmsi_unref( hdb ); + ok(r == ERROR_SUCCESS, "libmsi_database_open close failed\n"); } static void test_querymodify_assign(void) @@ -5511,8 +5511,8 @@ static void test_querymodify_assign(void) /* setup database */ DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); sql = "CREATE TABLE `table` (`A` INT, `B` INT PRIMARY KEY `A`)"; r = run_query( hdb, 0, sql ); @@ -5520,107 +5520,107 @@ static void test_querymodify_assign(void) /* assign to query, new primary key */ sql = "SELECT * FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - hrec = MsiCreateRecord(2); - ok(hrec != 0, "MsiCreateRecord failed\n"); + hrec = libmsi_record_create(2); + ok(hrec != 0, "libmsi_record_create failed\n"); - r = MsiRecordSetInteger(hrec, 1, 1); + r = libmsi_record_set_int(hrec, 1, 1); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetInteger(hrec, 2, 2); + r = libmsi_record_set_int(hrec, 2, 2); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_ASSIGN, hrec); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed: %d\n", r); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_ASSIGN, hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed: %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); + + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* assign to query, primary key matches */ sql = "SELECT * FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); - hrec = MsiCreateRecord(2); - ok(hrec != 0, "MsiCreateRecord failed\n"); + hrec = libmsi_record_create(2); + ok(hrec != 0, "libmsi_record_create failed\n"); - r = MsiRecordSetInteger(hrec, 1, 1); + r = libmsi_record_set_int(hrec, 1, 1); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiRecordSetInteger(hrec, 2, 4); + r = libmsi_record_set_int(hrec, 2, 4); ok(r == ERROR_SUCCESS, "failed to set integer\n"); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_ASSIGN, hrec); - ok(r == ERROR_SUCCESS, "MsiQueryModify failed: %d\n", r); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_ASSIGN, hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_modify failed: %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); sql = "SELECT * FROM `table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hquery, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryFetch(hquery, &hrec); - ok(r == ERROR_SUCCESS, "MsiQueryFetch failed\n"); - - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_database_open_query(hdb, sql, &hquery); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hquery, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_fetch(hquery, &hrec); + ok(r == ERROR_SUCCESS, "libmsi_query_fetch failed\n"); + + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 4, "Expected 4, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "failed to close record\n"); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(hquery); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hquery); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hquery); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hquery); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* close database */ - r = MsiCloseHandle( hdb ); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase close failed\n"); + r = libmsi_unref( hdb ); + ok(r == ERROR_SUCCESS, "libmsi_database_open close failed\n"); } static const WCHAR data10[] = { /* MOO */ @@ -5675,7 +5675,7 @@ static void test_stringtable(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `MOO` (`A` INT, `B` CHAR(72) PRIMARY KEY `A`)"; @@ -5698,27 +5698,27 @@ static void test_stringtable(void) /* open a query */ sql = "SELECT * FROM `MOO`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - hrec = MsiCreateRecord(2); + hrec = libmsi_record_create(2); - r = MsiRecordSetInteger(hrec, 1, 3); + r = libmsi_record_set_int(hrec, 1, 3); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordSetString(hrec, 2, "three"); + r = libmsi_record_set_string(hrec, 2, "three"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* insert a nonpersistent row */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(hquery); + r = libmsi_query_close(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hquery); + r = libmsi_unref(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* insert persistent row */ @@ -5731,100 +5731,100 @@ static void test_stringtable(void) r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiDatabaseCommit(hdb); + r = libmsi_database_commit(hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hdb); + r = libmsi_unref(hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `MOO`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetFieldCount(hrec); + r = libmsi_record_get_field_count(hrec); ok(r == 2, "Expected 2, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "one"), "Expected one, got '%s'\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(hquery); + r = libmsi_query_close(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hquery); + r = libmsi_unref(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `AAR`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetFieldCount(hrec); + r = libmsi_record_get_field_count(hrec); ok(r == 2, "Expected 2, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 2, "Expected 2, got %d\n", r); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "two"), "Expected two, got '%s'\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetFieldCount(hrec); + r = libmsi_record_get_field_count(hrec); ok(r == 2, "Expected 2, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 5, "Expected 5, got %d\n", r); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "five"), "Expected five, got '%s'\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(hquery); + r = libmsi_query_close(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hquery); + r = libmsi_unref(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hdb); + r = libmsi_unref(hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); MultiByteToWideChar(CP_ACP, 0, msifile, -1, name, 0x20); @@ -5904,8 +5904,8 @@ static void test_querymodify_delete(void) DeleteFile(msifile); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `phone` ( " @@ -5930,65 +5930,65 @@ static void test_querymodify_delete(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `phone` WHERE `id` <= 2"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* delete 1 */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_DELETE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_DELETE, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* delete 2 */ - r = MsiQueryModify(hquery, LIBMSI_MODIFY_DELETE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_DELETE, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(hquery); + r = libmsi_query_close(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hquery); + r = libmsi_unref(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `phone`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 3, "Expected 3, got %d\n", r); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 2, buffer, &sz); + r = libmsi_record_get_string(hrec, 2, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "Cindy"), "Expected Cindy, got %s\n", buffer); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 3, buffer, &sz); + r = libmsi_record_get_string(hrec, 3, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "2937550"), "Expected 2937550, got %s\n", buffer); - r = MsiCloseHandle(hrec); + r = libmsi_unref(hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - r = MsiQueryClose(hquery); + r = libmsi_query_close(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hquery); + r = libmsi_unref(hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiCloseHandle(hdb); + r = libmsi_unref(hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); } @@ -6079,13 +6079,13 @@ static void test_defaultdatabase(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiDatabaseCommit(hdb); + r = libmsi_database_commit(hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hdb); + libmsi_unref(hdb); hr = StgOpenStorage(msifileW, NULL, STGM_READ | STGM_SHARE_DENY_WRITE, NULL, 0, &stg); ok(hr == S_OK, "Expected S_OK, got %08x\n", hr); @@ -6147,172 +6147,172 @@ static void test_order(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT `A`, `B` FROM `Mesa` ORDER BY `C`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 3, "Expected 3, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 4, "Expected 3, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 5, "Expected 5, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 6, "Expected 6, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 1, "Expected 1, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 2, "Expected 2, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `A`, `D` FROM `Mesa`, `Sideboard` ORDER BY `F`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 1, "Expected 1, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 12, "Expected 12, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 3, "Expected 3, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 12, "Expected 12, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 5, "Expected 5, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 12, "Expected 12, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 1, "Expected 1, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 14, "Expected 14, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 3, "Expected 3, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 14, "Expected 14, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 5, "Expected 5, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 14, "Expected 14, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 1, "Expected 1, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 10, "Expected 10, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 3, "Expected 3, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 10, "Expected 10, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(hrec, 1); + val = libmsi_record_get_integer(hrec, 1); ok(val == 5, "Expected 5, got %d\n", val); - val = MsiRecordGetInteger(hrec, 2); + val = libmsi_record_get_integer(hrec, 2); ok(val == 10, "Expected 10, got %d\n", val); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Empty` ORDER BY `A`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "CREATE TABLE `Buffet` ( `One` CHAR(72), `Two` SHORT PRIMARY KEY `One`)"; r = run_query(hdb, 0, sql); @@ -6331,30 +6331,30 @@ static void test_order(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `Buffet` WHERE `One` = 'dos' ORDER BY `Two`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = sizeof(buffer); - r = MsiRecordGetString(hrec, 1, buffer, &sz); + r = libmsi_record_get_string(hrec, 1, buffer, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "dos"), "Expected \"dos\", got \"%s\"\n", buffer); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 3, "Expected 3, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); - MsiCloseHandle(hdb); + libmsi_query_close(hquery); + libmsi_unref(hquery); + libmsi_unref(hdb); } static void test_querymodify_delete_temporary(void) @@ -6367,7 +6367,7 @@ static void test_querymodify_delete_temporary(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `Table` ( `A` SHORT PRIMARY KEY `A` )"; @@ -6375,103 +6375,103 @@ static void test_querymodify_delete_temporary(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `Table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - hrec = MsiCreateRecord(1); - MsiRecordSetInteger(hrec, 1, 1); + hrec = libmsi_record_create(1); + libmsi_record_set_int(hrec, 1, 1); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - hrec = MsiCreateRecord(1); - MsiRecordSetInteger(hrec, 1, 2); + hrec = libmsi_record_create(1); + libmsi_record_set_int(hrec, 1, 2); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - hrec = MsiCreateRecord(1); - MsiRecordSetInteger(hrec, 1, 3); + hrec = libmsi_record_create(1); + libmsi_record_set_int(hrec, 1, 3); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - hrec = MsiCreateRecord(1); - MsiRecordSetInteger(hrec, 1, 4); + hrec = libmsi_record_create(1); + libmsi_record_set_int(hrec, 1, 4); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Table` WHERE `A` = 2"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_DELETE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_DELETE, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Table` WHERE `A` = 3"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_DELETE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_DELETE, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Table` ORDER BY `A`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 4, "Expected 4, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); - MsiCloseHandle(hdb); + libmsi_query_close(hquery); + libmsi_unref(hquery); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -6487,7 +6487,7 @@ static void test_deleterow(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `Table` ( `A` CHAR(72) NOT NULL PRIMARY KEY `A` )"; @@ -6506,36 +6506,36 @@ static void test_deleterow(void) r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiDatabaseCommit(hdb); + r = libmsi_database_commit(hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hdb); + libmsi_unref(hdb); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `Table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "two"), "Expected two, got %s\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); - MsiCloseHandle(hdb); + libmsi_query_close(hquery); + libmsi_unref(hquery); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -6556,7 +6556,7 @@ static void test_quotes(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `Table` ( `A` CHAR(72) NOT NULL PRIMARY KEY `A` )"; @@ -6595,60 +6595,60 @@ static void test_quotes(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `Table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "This is a \"string\" ok"), "Expected \"This is a \"string\" ok\", got %s\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); write_file("import.idt", import_dat, (sizeof(import_dat) - 1) * sizeof(char)); - r = MsiDatabaseImport(hdb, CURR_DIR, "import.idt"); + r = libmsi_database_import(hdb, CURR_DIR, "import.idt"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); DeleteFileA("import.idt"); sql = "SELECT * FROM `Table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "This is a new 'string' ok"), "Expected \"This is a new 'string' ok\", got %s\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); - MsiCloseHandle(hdb); + libmsi_query_close(hquery); + libmsi_unref(hquery); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -6664,7 +6664,7 @@ static void test_carriagereturn(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `Table`\r ( `A` CHAR(72) NOT NULL PRIMARY KEY `A` )"; @@ -6795,48 +6795,48 @@ static void test_carriagereturn(void) "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); sql = "SELECT * FROM `_Tables`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "\rOne"), "Expected \"\\rOne\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Tw\ro"), "Expected \"Tw\\ro\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Three\r"), "Expected \"Three\r\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); - MsiCloseHandle(hdb); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -6852,7 +6852,7 @@ static void test_noquotes(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE Table ( `A` CHAR(72) NOT NULL PRIMARY KEY `A` )"; @@ -6872,112 +6872,112 @@ static void test_noquotes(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `_Tables`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Table"), "Expected \"Table\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Table2"), "Expected \"Table2\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Table3"), "Expected \"Table3\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `_Columns`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Table"), "Expected \"Table\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 3, buf, &size); + r = libmsi_record_get_string(hrec, 3, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Table2"), "Expected \"Table2\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 3, buf, &size); + r = libmsi_record_get_string(hrec, 3, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Table3"), "Expected \"Table3\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 3, buf, &size); + r = libmsi_record_get_string(hrec, 3, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "INSERT INTO Table ( `A` ) VALUES ( 'hi' )"; r = run_query(hdb, 0, sql); @@ -7005,39 +7005,39 @@ static void test_noquotes(void) hquery = NULL; sql = "SELECT * FROM Table2"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Table` WHERE A = 'hi'"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); - MsiCloseHandle(hdb); + libmsi_query_close(hquery); + libmsi_unref(hquery); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -7063,7 +7063,7 @@ static void test_forcecodepage(void) DeleteFile(msifile); GetCurrentDirectoryA(MAX_PATH, CURR_DIR); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `_ForceCodepage`"; @@ -7078,16 +7078,16 @@ static void test_forcecodepage(void) r = run_query(hdb, 0, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - r = MsiDatabaseCommit(hdb); + r = libmsi_database_commit(hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `_ForceCodepage`"; r = run_query(hdb, 0, sql); ok(r == ERROR_BAD_QUERY_SYNTAX, "Expected ERROR_BAD_QUERY_SYNTAX, got %d\n", r); - MsiCloseHandle(hdb); + libmsi_unref(hdb); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_DIRECT, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_DIRECT, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `_ForceCodepage`"; @@ -7097,7 +7097,7 @@ static void test_forcecodepage(void) fd = open("forcecodepage.idt", O_WRONLY | O_BINARY | O_CREAT, 0644); ok(fd != -1, "cannot open file\n"); - r = MsiDatabaseExport(hdb, "_ForceCodepage", fd); + r = libmsi_database_export(hdb, "_ForceCodepage", fd); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); close(fd); @@ -7107,13 +7107,13 @@ static void test_forcecodepage(void) create_file_data("forcecodepage.idt", "\r\n\r\n850\t_ForceCodepage\r\n", 0); - r = MsiDatabaseImport(hdb, CURR_DIR, "forcecodepage.idt"); + r = libmsi_database_import(hdb, CURR_DIR, "forcecodepage.idt"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); fd = open("forcecodepage.idt", O_WRONLY | O_BINARY | O_CREAT, 0644); ok(fd != -1, "cannot open file\n"); - r = MsiDatabaseExport(hdb, "_ForceCodepage", fd); + r = libmsi_database_export(hdb, "_ForceCodepage", fd); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); close(fd); @@ -7123,10 +7123,10 @@ static void test_forcecodepage(void) create_file_data("forcecodepage.idt", "\r\n\r\n9999\t_ForceCodepage\r\n", 0); - r = MsiDatabaseImport(hdb, CURR_DIR, "forcecodepage.idt"); + r = libmsi_database_import(hdb, CURR_DIR, "forcecodepage.idt"); ok(r == ERROR_FUNCTION_FAILED, "Expected ERROR_FUNCTION_FAILED, got %d\n", r); - MsiCloseHandle(hdb); + libmsi_unref(hdb); DeleteFileA(msifile); DeleteFileA("forcecodepage.idt"); } @@ -7143,7 +7143,7 @@ static void test_querymodify_refresh(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `Table` ( `A` CHAR(72) NOT NULL, `B` INT PRIMARY KEY `A` )"; @@ -7155,45 +7155,45 @@ static void test_querymodify_refresh(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `Table`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "UPDATE `Table` SET `B` = 2 WHERE `A` = 'hi'"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_REFRESH, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_REFRESH, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buffer, &size); + r = libmsi_record_get_string(hrec, 1, buffer, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "hi"), "Expected \"hi\", got \"%s\"\n", buffer); ok(size == 2, "Expected 2, got %d\n", size); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "INSERT INTO `Table` ( `A`, `B` ) VALUES ( 'hello', 3 )"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `Table` WHERE `B` = 3"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "UPDATE `Table` SET `B` = 2 WHERE `A` = 'hello'"; @@ -7204,22 +7204,22 @@ static void test_querymodify_refresh(void) r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_REFRESH, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_REFRESH, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buffer, &size); + r = libmsi_record_get_string(hrec, 1, buffer, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buffer, "hello"), "Expected \"hello\", got \"%s\"\n", buffer); ok(size == 5, "Expected 5, got %d\n", size); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); - MsiCloseHandle(hdb); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -7233,7 +7233,7 @@ static void test_where_querymodify(void) DeleteFile(msifile); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `Table` ( `A` INT, `B` INT PRIMARY KEY `A` )"; @@ -7254,76 +7254,76 @@ static void test_where_querymodify(void) /* `B` = 3 doesn't match, but the query shouldn't be executed */ sql = "SELECT * FROM `Table` WHERE `B` = 3"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - hrec = MsiCreateRecord(2); - MsiRecordSetInteger(hrec, 1, 7); - MsiRecordSetInteger(hrec, 2, 8); + hrec = libmsi_record_create(2); + libmsi_record_set_int(hrec, 1, 7); + libmsi_record_set_int(hrec, 2, 8); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_INSERT_TEMPORARY, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Table` WHERE `A` = 7"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 7, "Expected 7, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 8, "Expected 8, got %d\n", r); - MsiRecordSetInteger(hrec, 2, 9); + libmsi_record_set_int(hrec, 2, 9); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_UPDATE, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_UPDATE, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `Table` WHERE `A` = 7"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 7, "Expected 7, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 9, "Expected 9, got %d\n", r); sql = "UPDATE `Table` SET `B` = 10 WHERE `A` = 7"; r = run_query(hdb, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryModify(hquery, LIBMSI_MODIFY_REFRESH, hrec); + r = libmsi_query_modify(hquery, LIBMSI_MODIFY_REFRESH, hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 7, "Expected 7, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 10, "Expected 10, got %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); - MsiCloseHandle(hdb); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); + libmsi_unref(hdb); } static bool create_storage(const char *name) @@ -7375,12 +7375,12 @@ static void test_storages_table(void) hdb = create_db(); ok(hdb, "failed to create db\n"); - r = MsiDatabaseCommit(hdb); + r = libmsi_database_commit(hdb); ok(r == ERROR_SUCCESS , "Failed to commit database\n"); - MsiCloseHandle(hdb); + libmsi_unref(hdb); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb); ok(r == ERROR_SUCCESS , "Failed to open database\n"); /* check the column types */ @@ -7389,7 +7389,7 @@ static void test_storages_table(void) ok(check_record(hrec, 1, "s62"), "wrong hrecord type\n"); ok(check_record(hrec, 2, "V0"), "wrong hrecord type\n"); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* now try the names */ hrec = get_column_info(hdb, "SELECT * FROM `_Storages`", LIBMSI_COL_INFO_NAMES); @@ -7397,61 +7397,61 @@ static void test_storages_table(void) ok(check_record(hrec, 1, "Name"), "wrong hrecord type\n"); ok(check_record(hrec, 2, "Data"), "wrong hrecord type\n"); - MsiCloseHandle(hrec); + libmsi_unref(hrec); create_storage("storage.bin"); - hrec = MsiCreateRecord(2); - MsiRecordSetString(hrec, 1, "stgname"); + hrec = libmsi_record_create(2); + libmsi_record_set_string(hrec, 1, "stgname"); - r = MsiRecordSetStream(hrec, 2, "storage.bin"); + r = libmsi_record_load_stream(hrec, 2, "storage.bin"); ok(r == ERROR_SUCCESS, "Failed to add stream data to the hrecord: %d\n", r); DeleteFileA("storage.bin"); sql = "INSERT INTO `_Storages` (`Name`, `Data`) VALUES (?, ?)"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Failed to open database hquery: %d\n", r); - r = MsiQueryExecute(hquery, hrec); + r = libmsi_query_execute(hquery, hrec); ok(r == ERROR_SUCCESS, "Failed to execute hquery: %d\n", r); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT `Name`, `Data` FROM `_Storages`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Failed to open database hquery: %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Failed to execute hquery: %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Failed to fetch hrecord: %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, file, &size); + r = libmsi_record_get_string(hrec, 1, file, &size); ok(r == ERROR_SUCCESS, "Failed to get string: %d\n", r); ok(!strcmp(file, "stgname"), "Expected \"stgname\", got \"%s\"\n", file); size = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordReadStream(hrec, 2, buf, &size); + r = libmsi_record_save_stream(hrec, 2, buf, &size); ok(r == ERROR_INVALID_DATA, "Expected ERROR_INVALID_DATA, got %d\n", r); ok(!strcmp(buf, "apple"), "Expected buf to be unchanged, got %s\n", buf); ok(size == 0, "Expected 0, got %d\n", size); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); - MsiDatabaseCommit(hdb); - MsiCloseHandle(hdb); + libmsi_database_commit(hdb); + libmsi_unref(hdb); MultiByteToWideChar(CP_ACP, 0, msifile, -1, name, MAX_PATH); hr = StgOpenStorage(name, NULL, STGM_DIRECT | STGM_READ | @@ -7492,7 +7492,7 @@ static void test_droptable(void) unsigned size; unsigned r; - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `One` ( `A` INT PRIMARY KEY `A` )"; @@ -7504,53 +7504,53 @@ static void test_droptable(void) ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); sql = "SELECT * FROM `_Tables` WHERE `Name` = 'One'"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `_Columns` WHERE `Table` = 'One'"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 3, buf, &size); + r = libmsi_record_get_string(hrec, 3, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "A"), "Expected \"A\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "DROP `One`"; r = run_query(hdb, 0, sql); @@ -7564,17 +7564,17 @@ static void test_droptable(void) sql = "DROP TABLE `One`"; hquery = 0; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_FUNCTION_FAILED, "Expected ERROR_FUNCTION_FAILED, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `IDontExist`"; r = do_query(hdb, sql, &hrec); @@ -7616,71 +7616,71 @@ static void test_droptable(void) ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); sql = "SELECT * FROM `_Tables` WHERE `Name` = 'One'"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "SELECT * FROM `_Columns` WHERE `Table` = 'One'"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 3, buf, &size); + r = libmsi_record_get_string(hrec, 3, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "B"), "Expected \"B\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 3, buf, &size); + r = libmsi_record_get_string(hrec, 3, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "C"), "Expected \"C\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "DROP TABLE One"; r = run_query(hdb, 0, sql); @@ -7699,7 +7699,7 @@ static void test_droptable(void) r = do_query(hdb, sql, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiCloseHandle(hdb); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -7714,32 +7714,32 @@ static void test_dbmerge(void) unsigned size; unsigned r; - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiOpenDatabase("refdb.msi", LIBMSI_DB_OPEN_CREATE, &href); + r = libmsi_database_open("refdb.msi", LIBMSI_DB_OPEN_CREATE, &href); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* hDatabase is invalid */ - r = MsiDatabaseMerge(0, href, "MergeErrors"); + r = libmsi_database_merge(0, href, "MergeErrors"); ok(r == ERROR_INVALID_HANDLE, "Expected ERROR_INVALID_HANDLE, got %d\n", r); /* hDatabaseMerge is invalid */ - r = MsiDatabaseMerge(hdb, 0, "MergeErrors"); + r = libmsi_database_merge(hdb, 0, "MergeErrors"); ok(r == ERROR_INVALID_HANDLE, "Expected ERROR_INVALID_HANDLE, got %d\n", r); /* szTableName is NULL */ - r = MsiDatabaseMerge(hdb, href, NULL); + r = libmsi_database_merge(hdb, href, NULL); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* szTableName is empty */ - r = MsiDatabaseMerge(hdb, href, ""); + r = libmsi_database_merge(hdb, href, ""); ok(r == ERROR_INVALID_TABLE, "Expected ERROR_INVALID_TABLE, got %d\n", r); /* both DBs empty, szTableName is valid */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "CREATE TABLE `One` ( `A` INT PRIMARY KEY `A` )"; @@ -7751,7 +7751,7 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* column types don't match */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_DATATYPE_MISMATCH, "Expected ERROR_DATATYPE_MISMATCH, got %d\n", r); @@ -7796,7 +7796,7 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* column sting types don't match exactly */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); @@ -7823,7 +7823,7 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* column names don't match */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_DATATYPE_MISMATCH, "Expected ERROR_DATATYPE_MISMATCH, got %d\n", r); @@ -7850,7 +7850,7 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* primary keys don't match */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_DATATYPE_MISMATCH, "Expected ERROR_DATATYPE_MISMATCH, got %d\n", r); @@ -7877,7 +7877,7 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* number of primary keys doesn't match */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_DATATYPE_MISMATCH, "Expected ERROR_DATATYPE_MISMATCH, got %d\n", r); @@ -7908,23 +7908,23 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* number of columns doesn't match */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `One`"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); - r = MsiRecordGetInteger(hrec, 3); + r = libmsi_record_get_integer(hrec, 3); ok(r == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* nothing in MergeErrors */ sql = "SELECT * FROM `MergeErrors`"; @@ -7953,23 +7953,23 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* number of columns doesn't match */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `One`"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); - r = MsiRecordGetInteger(hrec, 3); + r = libmsi_record_get_integer(hrec, 3); ok(r == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* nothing in MergeErrors */ sql = "SELECT * FROM `MergeErrors`"; @@ -8010,7 +8010,7 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* primary keys match, rows do not */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_FUNCTION_FAILED, "Expected ERROR_FUNCTION_FAILED, got %d\n", r); @@ -8020,52 +8020,52 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "One"), "Expected \"One\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 2, "Expected 2, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiDatabaseOpenQuery(hdb, "SELECT * FROM `MergeErrors`", &hquery); + r = libmsi_database_open_query(hdb, "SELECT * FROM `MergeErrors`", &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); hrec = NULL; - r = MsiQueryGetColumnInfo(hquery, LIBMSI_COL_INFO_NAMES, &hrec); + r = libmsi_query_get_column_info(hquery, LIBMSI_COL_INFO_NAMES, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "Table"), "Expected \"Table\", got \"%s\"\n", buf); size = MAX_PATH; - r = MsiRecordGetString(hrec, 2, buf, &size); + r = libmsi_record_get_string(hrec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "NumRowMergeConflicts"), "Expected \"NumRowMergeConflicts\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); hrec = NULL; - r = MsiQueryGetColumnInfo(hquery, LIBMSI_COL_INFO_TYPES, &hrec); + r = libmsi_query_get_column_info(hquery, LIBMSI_COL_INFO_TYPES, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "s255"), "Expected \"s255\", got \"%s\"\n", buf); size = MAX_PATH; - r = MsiRecordGetString(hrec, 2, buf, &size); + r = libmsi_record_get_string(hrec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "i2"), "Expected \"i2\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_unref(hrec); + libmsi_query_close(hquery); + libmsi_unref(hquery); sql = "DROP TABLE `MergeErrors`"; r = run_query(hdb, 0, sql); @@ -8088,22 +8088,22 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* table from merged database is not in target database */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `One`"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 2, buf, &size); + r = libmsi_record_get_string(hrec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* nothing in MergeErrors */ sql = "SELECT * FROM `MergeErrors`"; @@ -8134,7 +8134,7 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* primary key is string */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `One`"; @@ -8142,14 +8142,14 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 1, buf, &size); + r = libmsi_record_get_string(hrec, 1, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(hrec, 2); + r = libmsi_record_get_integer(hrec, 2); ok(r == 1, "Expected 1, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* nothing in MergeErrors */ sql = "SELECT * FROM `MergeErrors`"; @@ -8160,7 +8160,7 @@ static void test_dbmerge(void) create_file_data("codepage.idt", "\r\n\r\n850\t_ForceCodepage\r\n", 0); GetCurrentDirectoryA(MAX_PATH, buf); - r = MsiDatabaseImport(hdb, buf, "codepage.idt"); + r = libmsi_database_import(hdb, buf, "codepage.idt"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "DROP TABLE `One`"; @@ -8186,22 +8186,22 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); /* code page does not match */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `One`"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 2, buf, &size); + r = libmsi_record_get_string(hrec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "hi"), "Expected \"hi\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* nothing in MergeErrors */ sql = "SELECT * FROM `MergeErrors`"; @@ -8226,34 +8226,34 @@ static void test_dbmerge(void) ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); create_file("binary.dat"); - hrec = MsiCreateRecord(1); - MsiRecordSetStream(hrec, 1, "binary.dat"); + hrec = libmsi_record_create(1); + libmsi_record_load_stream(hrec, 1, "binary.dat"); sql = "INSERT INTO `One` ( `A`, `B` ) VALUES ( 1, ? )"; r = run_query(href, hrec, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* binary data to merge */ - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `One`"; r = do_query(hdb, sql, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; ZeroMemory(buf, MAX_PATH); - r = MsiRecordReadStream(hrec, 2, buf, &size); + r = libmsi_record_save_stream(hrec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "binary.dat\n"), "Expected \"binary.dat\\n\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); /* nothing in MergeErrors */ sql = "SELECT * FROM `MergeErrors`"; @@ -8283,50 +8283,50 @@ static void test_dbmerge(void) r = run_query(href, 0, sql); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiDatabaseMerge(hdb, href, "MergeErrors"); + r = libmsi_database_merge(hdb, href, "MergeErrors"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sql = "SELECT * FROM `One`"; - r = MsiDatabaseOpenQuery(hdb, sql, &hquery); + r = libmsi_database_open_query(hdb, sql, &hquery); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hquery, 0); + r = libmsi_query_execute(hquery, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 1, "Expected 1, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 2, buf, &size); + r = libmsi_record_get_string(hrec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "foo"), "Expected \"foo\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(hrec, 1); + r = libmsi_record_get_integer(hrec, 1); ok(r == 2, "Expected 2, got %d\n", r); size = MAX_PATH; - r = MsiRecordGetString(hrec, 2, buf, &size); + r = libmsi_record_get_string(hrec, 2, buf, &size); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "bar"), "Expected \"bar\", got \"%s\"\n", buf); - MsiCloseHandle(hrec); + libmsi_unref(hrec); - r = MsiQueryFetch(hquery, &hrec); + r = libmsi_query_fetch(hquery, &hrec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(hquery); - MsiCloseHandle(hquery); + libmsi_query_close(hquery); + libmsi_unref(hquery); - MsiCloseHandle(hdb); - MsiCloseHandle(href); + libmsi_unref(hdb); + libmsi_unref(href); DeleteFileA(msifile); DeleteFileA("refdb.msi"); DeleteFileA("codepage.idt"); @@ -8382,31 +8382,31 @@ static void test_select_with_tablenames(void) query = NULL; sql = "SELECT T1.A, T2.B FROM T1,T2"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); for (i = 0; i < 4; i++) { - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == vals[i][0], "Expected %d, got %d\n", vals[i][0], r); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == vals[i][1], "Expected %d, got %d\n", vals[i][1], r); - MsiCloseHandle(rec); + libmsi_unref(rec); } - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); - MsiCloseHandle(hdb); + libmsi_query_close(query); + libmsi_unref(query); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -8491,33 +8491,33 @@ static void test_insertorder(void) query = NULL; sql = "SELECT * FROM `T`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); for (i = 0; i < 6; i++) { - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == ordervals[i][0], "Expected %d, got %d\n", ordervals[i][0], r); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == ordervals[i][1], "Expected %d, got %d\n", ordervals[i][1], r); - r = MsiRecordGetInteger(rec, 3); + r = libmsi_record_get_integer(rec, 3); ok(r == ordervals[i][2], "Expected %d, got %d\n", ordervals[i][2], r); - MsiCloseHandle(rec); + libmsi_unref(rec); } - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); sql = "DELETE FROM `T` WHERE `A` IS NULL"; r = run_query(hdb, 0, sql); @@ -8529,34 +8529,34 @@ static void test_insertorder(void) query = NULL; sql = "SELECT * FROM `T`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); for (i = 0; i < 6; i++) { - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == ordervals[i][0], "Expected %d, got %d\n", ordervals[i][0], r); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == ordervals[i][1], "Expected %d, got %d\n", ordervals[i][1], r); - r = MsiRecordGetInteger(rec, 3); + r = libmsi_record_get_integer(rec, 3); ok(r == ordervals[i][2], "Expected %d, got %d\n", ordervals[i][2], r); - MsiCloseHandle(rec); + libmsi_unref(rec); } - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); - MsiCloseHandle(hdb); + libmsi_query_close(query); + libmsi_unref(query); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -8601,82 +8601,82 @@ static void test_columnorder(void) query = NULL; sql = "SELECT * FROM `T`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("s255", buf), "Expected \"s255\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 2, buf, &sz); + r = libmsi_record_get_string(rec, 2, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("I2", buf), "Expected \"I2\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("S255", buf), "Expected \"S255\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 4, buf, &sz); + r = libmsi_record_get_string(rec, 4, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 5, buf, &sz); + r = libmsi_record_get_string(rec, 5, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_NAMES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 2, buf, &sz); + r = libmsi_record_get_string(rec, 2, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 4, buf, &sz); + r = libmsi_record_get_string(rec, 4, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 5, buf, &sz); + r = libmsi_record_get_string(rec, 5, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); - MsiCloseHandle(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_unref(rec); + libmsi_query_close(query); + libmsi_unref(query); sql = "INSERT INTO `T` ( `B`, `C`, `A`, `E`, `D` ) " "VALUES ( 1, 2, 'a', 3, 'bc' )"; @@ -8689,139 +8689,139 @@ static void test_columnorder(void) sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("bc", buf), "Expected \"bc\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 3, "Expected 3, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("a", buf), "Expected \"a\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 4); + r = libmsi_record_get_integer(rec, 4); ok(r == 2, "Expected 2, got %d\n", r); - r = MsiRecordGetInteger(rec, 5); + r = libmsi_record_get_integer(rec, 5); ok(r == 1, "Expected 1, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); query = NULL; sql = "SELECT * FROM `_Columns` WHERE `Table` = 'T'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 1, "Expected 1, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 2, "Expected 2, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 3, "Expected 3, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 4, "Expected 4, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 5, "Expected 5, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); sql = "CREATE TABLE `Z` ( `B` SHORT NOT NULL, `C` SHORT NOT NULL, " "`A` CHAR(255), `E` INT, `D` CHAR(255) NOT NULL " @@ -8831,82 +8831,82 @@ static void test_columnorder(void) query = NULL; sql = "SELECT * FROM `Z`"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_TYPES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_TYPES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 2, buf, &sz); + r = libmsi_record_get_string(rec, 2, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("S255", buf), "Expected \"S255\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("s255", buf), "Expected \"s255\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 4, buf, &sz); + r = libmsi_record_get_string(rec, 4, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("I2", buf), "Expected \"I2\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 5, buf, &sz); + r = libmsi_record_get_string(rec, 5, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("i2", buf), "Expected \"i2\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); rec = NULL; - r = MsiQueryGetColumnInfo(query, LIBMSI_COL_INFO_NAMES, &rec); + r = libmsi_query_get_column_info(query, LIBMSI_COL_INFO_NAMES, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 2, buf, &sz); + r = libmsi_record_get_string(rec, 2, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 4, buf, &sz); + r = libmsi_record_get_string(rec, 4, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 5, buf, &sz); + r = libmsi_record_get_string(rec, 5, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); - MsiCloseHandle(rec); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_unref(rec); + libmsi_query_close(query); + libmsi_unref(query); sql = "INSERT INTO `Z` ( `B`, `C`, `A`, `E`, `D` ) " "VALUES ( 1, 2, 'a', 3, 'bc' )"; @@ -8917,143 +8917,143 @@ static void test_columnorder(void) r = do_query(hdb, sql, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == 2, "Expected 2, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 2, buf, &sz); + r = libmsi_record_get_string(rec, 2, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("a", buf), "Expected \"a\", got \"%s\"\n", buf); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("bc", buf), "Expected \"bc\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 4); + r = libmsi_record_get_integer(rec, 4); ok(r == 3, "Expected 3, got %d\n", r); - r = MsiRecordGetInteger(rec, 5); + r = libmsi_record_get_integer(rec, 5); ok(r == 1, "Expected 1, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); query = NULL; sql = "SELECT * FROM `_Columns` WHERE `Table` = 'T'"; - r = MsiDatabaseOpenQuery(hdb, sql, &query); + r = libmsi_database_open_query(hdb, sql, &query); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(query, 0); + r = libmsi_query_execute(query, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 1, "Expected 1, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("D", buf), "Expected \"D\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 2, "Expected 2, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("E", buf), "Expected \"E\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 3, "Expected 3, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("A", buf), "Expected \"A\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 4, "Expected 4, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("C", buf), "Expected \"C\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("T", buf), "Expected \"T\", got \"%s\"\n", buf); - r = MsiRecordGetInteger(rec, 2); + r = libmsi_record_get_integer(rec, 2); ok(r == 5, "Expected 5, got %d\n", r); sz = MAX_PATH; strcpy(buf, "kiwi"); - r = MsiRecordGetString(rec, 3, buf, &sz); + r = libmsi_record_get_string(rec, 3, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp("B", buf), "Expected \"B\", got \"%s\"\n", buf); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiQueryFetch(query, &rec); + r = libmsi_query_fetch(query, &rec); ok(r == ERROR_NO_MORE_ITEMS, "Expected ERROR_NO_MORE_ITEMS, got %d\n", r); - MsiQueryClose(query); - MsiCloseHandle(query); + libmsi_query_close(query); + libmsi_unref(query); - MsiCloseHandle(hdb); + libmsi_unref(hdb); DeleteFileA(msifile); } @@ -9071,101 +9071,101 @@ static void test_createtable(void) ok(hdb, "failed to create db\n"); sql = "CREATE TABLE `blah` (`foo` CHAR(72) NOT NULL PRIMARY KEY `foo`)"; - res = MsiDatabaseOpenQuery( hdb, sql, &htab ); + res = libmsi_database_open_query( hdb, sql, &htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); if(res == ERROR_SUCCESS ) { - res = MsiQueryExecute( htab, hrec ); + res = libmsi_query_execute( htab, hrec ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); hrec = NULL; - res = MsiQueryGetColumnInfo( htab, LIBMSI_COL_INFO_NAMES, &hrec ); + res = libmsi_query_get_column_info( htab, LIBMSI_COL_INFO_NAMES, &hrec ); todo_wine ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); size = sizeof(buffer); - res = MsiRecordGetString(hrec, 1, buffer, &size ); + res = libmsi_record_get_string(hrec, 1, buffer, &size ); todo_wine ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - MsiCloseHandle( hrec ); + libmsi_unref( hrec ); - res = MsiQueryClose( htab ); + res = libmsi_query_close( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiCloseHandle( htab ); + res = libmsi_unref( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); } sql = "CREATE TABLE `a` (`b` INT PRIMARY KEY `b`)"; - res = MsiDatabaseOpenQuery( hdb, sql, &htab ); + res = libmsi_database_open_query( hdb, sql, &htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); if(res == ERROR_SUCCESS ) { - res = MsiQueryExecute( htab, 0 ); + res = libmsi_query_execute( htab, 0 ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiQueryClose( htab ); + res = libmsi_query_close( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiCloseHandle( htab ); + res = libmsi_unref( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); sql = "SELECT * FROM `a`"; - res = MsiDatabaseOpenQuery( hdb, sql, &htab ); + res = libmsi_database_open_query( hdb, sql, &htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); hrec = NULL; - res = MsiQueryGetColumnInfo( htab, LIBMSI_COL_INFO_NAMES, &hrec ); + res = libmsi_query_get_column_info( htab, LIBMSI_COL_INFO_NAMES, &hrec ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); buffer[0] = 0; size = sizeof(buffer); - res = MsiRecordGetString(hrec, 1, buffer, &size ); + res = libmsi_record_get_string(hrec, 1, buffer, &size ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); ok(!strcmp(buffer,"b"), "b != %s\n", buffer); - MsiCloseHandle( hrec ); + libmsi_unref( hrec ); - res = MsiQueryClose( htab ); + res = libmsi_query_close( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiCloseHandle( htab ); + res = libmsi_unref( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiDatabaseCommit(hdb); + res = libmsi_database_commit(hdb); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiCloseHandle(hdb); + res = libmsi_unref(hdb); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); + res = libmsi_database_open(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); sql = "SELECT * FROM `a`"; - res = MsiDatabaseOpenQuery( hdb, sql, &htab ); + res = libmsi_database_open_query( hdb, sql, &htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); hrec = NULL; - res = MsiQueryGetColumnInfo( htab, LIBMSI_COL_INFO_NAMES, &hrec ); + res = libmsi_query_get_column_info( htab, LIBMSI_COL_INFO_NAMES, &hrec ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); buffer[0] = 0; size = sizeof(buffer); - res = MsiRecordGetString(hrec, 1, buffer, &size ); + res = libmsi_record_get_string(hrec, 1, buffer, &size ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); ok(!strcmp(buffer,"b"), "b != %s\n", buffer); - res = MsiCloseHandle( hrec ); + res = libmsi_unref( hrec ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiQueryClose( htab ); + res = libmsi_query_close( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiCloseHandle( htab ); + res = libmsi_unref( htab ); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); } - res = MsiDatabaseCommit(hdb); + res = libmsi_database_commit(hdb); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); - res = MsiCloseHandle(hdb); + res = libmsi_unref(hdb); ok(res == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", res); DeleteFileA(msifile); @@ -9183,12 +9183,12 @@ static void test_embedded_nulls(void) LibmsiRecord *hrec; char buffer[32]; - r = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); + r = libmsi_database_open( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( r == ERROR_SUCCESS, "failed to open database %u\n", r ); GetCurrentDirectoryA( MAX_PATH, CURR_DIR ); write_file( "temp_file", control_table, sizeof(control_table) ); - r = MsiDatabaseImport( hdb, CURR_DIR, "temp_file" ); + r = libmsi_database_import( hdb, CURR_DIR, "temp_file" ); ok( r == ERROR_SUCCESS, "failed to import table %u\n", r ); DeleteFileA( "temp_file" ); @@ -9197,12 +9197,12 @@ static void test_embedded_nulls(void) buffer[0] = 0; sz = sizeof(buffer); - r = MsiRecordGetString( hrec, 1, buffer, &sz ); + r = libmsi_record_get_string( hrec, 1, buffer, &sz ); ok( r == ERROR_SUCCESS, "failed to get string %u\n", r ); ok( !memcmp( "text\r\ntext\ntext", buffer, sizeof("text\r\ntext\ntext") - 1 ), "wrong buffer contents \"%s\"\n", buffer ); - MsiCloseHandle( hrec ); - MsiCloseHandle( hdb ); + libmsi_unref( hrec ); + libmsi_unref( hdb ); DeleteFileA( msifile ); } @@ -9217,7 +9217,7 @@ static void test_select_column_names(void) DeleteFile(msifile); - r = MsiOpenDatabase( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); + r = libmsi_database_open( msifile, LIBMSI_DB_OPEN_CREATE, &hdb ); ok( r == ERROR_SUCCESS , "failed to open database: %u\n", r ); r = try_query( hdb, "CREATE TABLE `t` (`a` CHAR NOT NULL, `b` CHAR PRIMARY KEY `a`)"); @@ -9257,195 +9257,195 @@ static void test_select_column_names(void) ok( r == ERROR_SUCCESS , "query failed: %u\n", r ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, "SELECT '' FROM `t`", &query ); + r = libmsi_database_open_query( hdb, "SELECT '' FROM `t`", &query ); ok( r == ERROR_SUCCESS, "failed to open database query: %u\n", r ); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "failed to execute query: %u\n", r ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); - r = MsiRecordGetFieldCount( rec ); + r = libmsi_record_get_field_count( rec ); ok( r == 1, "got %u\n", r ); rec2 = NULL; - r = MsiQueryGetColumnInfo( query, LIBMSI_COL_INFO_NAMES, &rec2 ); + r = libmsi_query_get_column_info( query, LIBMSI_COL_INFO_NAMES, &rec2 ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); - r = MsiRecordGetFieldCount( rec2 ); + r = libmsi_record_get_field_count( rec2 ); ok( r == 1, "got %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec2, 1, buffer, &size ); + r = libmsi_record_get_string( rec2, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); - MsiCloseHandle( rec2 ); + libmsi_unref( rec2 ); rec2 = NULL; - r = MsiQueryGetColumnInfo( query, LIBMSI_COL_INFO_TYPES, &rec2 ); + r = libmsi_query_get_column_info( query, LIBMSI_COL_INFO_TYPES, &rec2 ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); - r = MsiRecordGetFieldCount( rec2 ); + r = libmsi_record_get_field_count( rec2 ); ok( r == 1, "got %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec2, 1, buffer, &size ); + r = libmsi_record_get_string( rec2, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "f0" ), "got \"%s\"\n", buffer ); - MsiCloseHandle( rec2 ); + libmsi_unref( rec2 ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 1, buffer, &size ); + r = libmsi_record_get_string( rec, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 1, buffer, &size ); + r = libmsi_record_get_string( rec, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_NO_MORE_ITEMS, "unexpected result: %u\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_query_close( query ); + libmsi_unref( query ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, "SELECT `a`, '' FROM `t`", &query ); + r = libmsi_database_open_query( hdb, "SELECT `a`, '' FROM `t`", &query ); ok( r == ERROR_SUCCESS, "failed to open database query: %u\n", r ); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "failed to execute query: %u\n", r ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); - r = MsiRecordGetFieldCount( rec ); + r = libmsi_record_get_field_count( rec ); ok( r == 2, "got %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 1, buffer, &size ); + r = libmsi_record_get_string( rec, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "1" ), "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 2, buffer, &size ); + r = libmsi_record_get_string( rec, 2, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_NO_MORE_ITEMS, "unexpected result: %u\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_query_close( query ); + libmsi_unref( query ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, "SELECT '', `a` FROM `t`", &query ); + r = libmsi_database_open_query( hdb, "SELECT '', `a` FROM `t`", &query ); ok( r == ERROR_SUCCESS, "failed to open database query: %u\n", r ); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "failed to execute query: %u\n", r ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); - r = MsiRecordGetFieldCount( rec ); + r = libmsi_record_get_field_count( rec ); ok( r == 2, "got %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 1, buffer, &size ); + r = libmsi_record_get_string( rec, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 2, buffer, &size ); + r = libmsi_record_get_string( rec, 2, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "1" ), "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 1, buffer, &size ); + r = libmsi_record_get_string( rec, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 2, buffer, &size ); + r = libmsi_record_get_string( rec, 2, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "3" ), "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_NO_MORE_ITEMS, "unexpected result: %u\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_query_close( query ); + libmsi_unref( query ); query = NULL; - r = MsiDatabaseOpenQuery( hdb, "SELECT `a`, '', `b` FROM `t`", &query ); + r = libmsi_database_open_query( hdb, "SELECT `a`, '', `b` FROM `t`", &query ); ok( r == ERROR_SUCCESS, "failed to open database query: %u\n", r ); - r = MsiQueryExecute( query, 0 ); + r = libmsi_query_execute( query, 0 ); ok( r == ERROR_SUCCESS, "failed to execute query: %u\n", r ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); - r = MsiRecordGetFieldCount( rec ); + r = libmsi_record_get_field_count( rec ); ok( r == 3, "got %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 1, buffer, &size ); + r = libmsi_record_get_string( rec, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "1" ), "got \"%s\"\n", buffer ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 2, buffer, &size ); + r = libmsi_record_get_string( rec, 2, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 3, buffer, &size ); + r = libmsi_record_get_string( rec, 3, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "2" ), "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 1, buffer, &size ); + r = libmsi_record_get_string( rec, 1, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "3" ), "got \"%s\"\n", buffer ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 2, buffer, &size ); + r = libmsi_record_get_string( rec, 2, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !buffer[0], "got \"%s\"\n", buffer ); size = sizeof(buffer); memset( buffer, 0x55, sizeof(buffer) ); - r = MsiRecordGetString( rec, 3, buffer, &size ); + r = libmsi_record_get_string( rec, 3, buffer, &size ); ok( r == ERROR_SUCCESS, "unexpected result: %u\n", r ); ok( !strcmp( buffer, "4" ), "got \"%s\"\n", buffer ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - r = MsiQueryFetch( query, &rec ); + r = libmsi_query_fetch( query, &rec ); ok( r == ERROR_NO_MORE_ITEMS, "unexpected result: %u\n", r ); - MsiCloseHandle( rec ); + libmsi_unref( rec ); - MsiQueryClose( query ); - MsiCloseHandle( query ); + libmsi_query_close( query ); + libmsi_unref( query ); r = try_query( hdb, "SELECT '' FROM `t` WHERE `t`.`b` = 'x'" ); ok( r == ERROR_SUCCESS , "query failed: %u\n", r ); @@ -9462,7 +9462,7 @@ static void test_select_column_names(void) r = try_query( hdb, "SELECT `t`.`b`, `` FROM `t` WHERE `t`.`b` = 'x'" ); todo_wine ok( r == ERROR_BAD_QUERY_SYNTAX, "query failed: %u\n", r ); - r = MsiCloseHandle( hdb ); + r = libmsi_unref( hdb ); ok(r == ERROR_SUCCESS , "failed to close database: %u\n", r); } diff --git a/tests/testrecord.c b/tests/testrecord.c index fcd9f35..42ae3eb 100644 --- a/tests/testrecord.c +++ b/tests/testrecord.c @@ -56,239 +56,239 @@ static void test_msirecord(void) char filename[MAX_PATH]; /* check behaviour with an invalid record */ - r = MsiRecordGetFieldCount(0); + r = libmsi_record_get_field_count(0); ok(r==-1, "field count for invalid record not -1\n"); SetLastError(0); - r = MsiRecordIsNull(0, 0); + r = libmsi_record_is_null(0, 0); ok(r==0, "invalid handle not considered to be non-null...\n"); - ok(GetLastError()==0, "MsiRecordIsNull set LastError\n"); - r = MsiRecordGetInteger(0,0); + ok(GetLastError()==0, "libmsi_record_is_null set LastError\n"); + r = libmsi_record_get_integer(0,0); ok(r == MSI_NULL_INTEGER, "got integer from invalid record\n"); - r = MsiRecordSetInteger(0,0,0); - ok(r == ERROR_INVALID_HANDLE, "MsiRecordSetInteger returned wrong error\n"); - r = MsiRecordSetInteger(0,-1,0); - ok(r == ERROR_INVALID_HANDLE, "MsiRecordSetInteger returned wrong error\n"); + r = libmsi_record_set_int(0,0,0); + ok(r == ERROR_INVALID_HANDLE, "libmsi_record_set_int returned wrong error\n"); + r = libmsi_record_set_int(0,-1,0); + ok(r == ERROR_INVALID_HANDLE, "libmsi_record_set_int returned wrong error\n"); SetLastError(0); - h = MsiCreateRecord(-1); + h = libmsi_record_create(-1); ok(h==0, "created record with -1 elements\n"); - h = MsiCreateRecord(0x10000); + h = libmsi_record_create(0x10000); ok(h==0, "created record with 0x10000 elements\n"); /* doesn't set LastError */ - ok(GetLastError()==0, "MsiCreateRecord set last error\n"); - r = MsiRecordClearData(0); - ok(r == ERROR_INVALID_HANDLE, "MsiRecordClearData returned wrong error\n"); - r = MsiRecordDataSize(0,0); - ok(r == 0, "MsiRecordDataSize returned wrong error\n"); + ok(GetLastError()==0, "libmsi_record_create set last error\n"); + r = libmsi_record_clear_data(0); + ok(r == ERROR_INVALID_HANDLE, "libmsi_record_clear_data returned wrong error\n"); + r = libmsi_record_get_field_size(0,0); + ok(r == 0, "libmsi_record_get_field_size returned wrong error\n"); /* check behaviour of a record with 0 elements */ - h = MsiCreateRecord(0); + h = libmsi_record_create(0); ok(h!=0, "couldn't create record with zero elements\n"); - r = MsiRecordGetFieldCount(h); + r = libmsi_record_get_field_count(h); ok(r==0, "field count should be zero\n"); - r = MsiRecordIsNull(h,0); + r = libmsi_record_is_null(h,0); ok(r, "new record wasn't null\n"); - r = MsiRecordIsNull(h,1); + r = libmsi_record_is_null(h,1); ok(r, "out of range record wasn't null\n"); - r = MsiRecordIsNull(h,-1); + r = libmsi_record_is_null(h,-1); ok(r, "out of range record wasn't null\n"); - r = MsiRecordDataSize(h,0); + r = libmsi_record_get_field_size(h,0); ok(r==0, "size of null record is 0\n"); sz = sizeof buf; strcpy(buf,"x"); - r = MsiRecordGetString(h, 0, buf, &sz); + r = libmsi_record_get_string(h, 0, buf, &sz); ok(r==ERROR_SUCCESS, "failed to get null string\n"); ok(sz==0, "null string too long\n"); ok(buf[0]==0, "null string not set\n"); /* same record, but add an integer to it */ - r = MsiRecordSetInteger(h, 0, 0); + r = libmsi_record_set_int(h, 0, 0); ok(r == ERROR_SUCCESS, "Failed to set integer at 0 to 0\n"); - r = MsiRecordIsNull(h,0); + r = libmsi_record_is_null(h,0); ok(r==0, "new record is null after setting an integer\n"); - r = MsiRecordDataSize(h,0); + r = libmsi_record_get_field_size(h,0); ok(r==sizeof(unsigned), "size of integer record is 4\n"); - r = MsiRecordSetInteger(h, 0, 1); + r = libmsi_record_set_int(h, 0, 1); ok(r == ERROR_SUCCESS, "Failed to set integer at 0 to 1\n"); - r = MsiRecordSetInteger(h, 1, 1); + r = libmsi_record_set_int(h, 1, 1); ok(r == ERROR_INVALID_PARAMETER, "set integer at 1\n"); - r = MsiRecordSetInteger(h, -1, 0); + r = libmsi_record_set_int(h, -1, 0); ok(r == ERROR_INVALID_PARAMETER, "set integer at -1\n"); - r = MsiRecordIsNull(h,0); + r = libmsi_record_is_null(h,0); ok(r==0, "new record is null after setting an integer\n"); - r = MsiRecordGetInteger(h, 0); + r = libmsi_record_get_integer(h, 0); ok(r == 1, "failed to get integer\n"); /* same record, but add a null or empty string to it */ - r = MsiRecordSetString(h, 0, NULL); + r = libmsi_record_set_string(h, 0, NULL); ok(r == ERROR_SUCCESS, "Failed to set null string at 0\n"); - r = MsiRecordIsNull(h, 0); + r = libmsi_record_is_null(h, 0); ok(r == true, "null string not null field\n"); - r = MsiRecordDataSize(h, 0); + r = libmsi_record_get_field_size(h, 0); ok(r == 0, "size of string record is strlen\n"); buf[0] = 0; sz = sizeof buf; - r = MsiRecordGetString(h, 0, buf, &sz); + r = libmsi_record_get_string(h, 0, buf, &sz); ok(r == ERROR_SUCCESS, "Failed to get string at 0\n"); - ok(buf[0] == 0, "MsiRecordGetString returned the wrong string\n"); - ok(sz == 0, "MsiRecordGetString returned the wrong length\n"); - r = MsiRecordSetString(h, 0, ""); + ok(buf[0] == 0, "libmsi_record_get_string returned the wrong string\n"); + ok(sz == 0, "libmsi_record_get_string returned the wrong length\n"); + r = libmsi_record_set_string(h, 0, ""); ok(r == ERROR_SUCCESS, "Failed to set empty string at 0\n"); - r = MsiRecordIsNull(h, 0); + r = libmsi_record_is_null(h, 0); ok(r == true, "null string not null field\n"); - r = MsiRecordDataSize(h, 0); + r = libmsi_record_get_field_size(h, 0); ok(r == 0, "size of string record is strlen\n"); buf[0] = 0; sz = sizeof buf; - r = MsiRecordGetString(h, 0, buf, &sz); + r = libmsi_record_get_string(h, 0, buf, &sz); ok(r == ERROR_SUCCESS, "Failed to get string at 0\n"); - ok(buf[0] == 0, "MsiRecordGetString returned the wrong string\n"); - ok(sz == 0, "MsiRecordGetString returned the wrong length\n"); + ok(buf[0] == 0, "libmsi_record_get_string returned the wrong string\n"); + ok(sz == 0, "libmsi_record_get_string returned the wrong length\n"); /* same record, but add a string to it */ - r = MsiRecordSetString(h,0,str); + r = libmsi_record_set_string(h,0,str); ok(r == ERROR_SUCCESS, "Failed to set string at 0\n"); - r = MsiRecordGetInteger(h, 0); + r = libmsi_record_get_integer(h, 0); ok(r == MSI_NULL_INTEGER, "should get invalid integer\n"); - r = MsiRecordDataSize(h,0); + r = libmsi_record_get_field_size(h,0); ok(r==sizeof str-1, "size of string record is strlen\n"); buf[0]=0; sz = sizeof buf; - r = MsiRecordGetString(h,0,buf,&sz); + r = libmsi_record_get_string(h,0,buf,&sz); ok(r == ERROR_SUCCESS, "Failed to get string at 0\n"); - ok(0==strcmp(buf,str), "MsiRecordGetString returned the wrong string\n"); - ok(sz == sizeof str-1, "MsiRecordGetString returned the wrong length\n"); + ok(0==strcmp(buf,str), "libmsi_record_get_string returned the wrong string\n"); + ok(sz == sizeof str-1, "libmsi_record_get_string returned the wrong length\n"); buf[0]=0; sz = sizeof str - 2; - r = MsiRecordGetString(h,0,buf,&sz); + r = libmsi_record_get_string(h,0,buf,&sz); ok(r == ERROR_MORE_DATA, "small buffer should yield ERROR_MORE_DATA\n"); - ok(sz == sizeof str-1, "MsiRecordGetString returned the wrong length\n"); - ok(0==strncmp(buf,str,sizeof str-3), "MsiRecordGetString returned the wrong string\n"); + ok(sz == sizeof str-1, "libmsi_record_get_string returned the wrong length\n"); + ok(0==strncmp(buf,str,sizeof str-3), "libmsi_record_get_string returned the wrong string\n"); ok(buf[sizeof str - 3]==0, "string wasn't nul terminated\n"); buf[0]=0; sz = sizeof str; - r = MsiRecordGetString(h,0,buf,&sz); + r = libmsi_record_get_string(h,0,buf,&sz); ok(r == ERROR_SUCCESS, "wrong error\n"); - ok(sz == sizeof str-1, "MsiRecordGetString returned the wrong length\n"); - ok(0==strcmp(buf,str), "MsiRecordGetString returned the wrong string\n"); + ok(sz == sizeof str-1, "libmsi_record_get_string returned the wrong length\n"); + ok(0==strcmp(buf,str), "libmsi_record_get_string returned the wrong string\n"); memset(buf, 0, sizeof buf); sz = 5; - r = MsiRecordGetString(h,0,buf,&sz); + r = libmsi_record_get_string(h,0,buf,&sz); ok(r == ERROR_MORE_DATA, "wrong error\n"); - ok(sz == 5, "MsiRecordGetString returned the wrong length\n"); - ok(0==memcmp(buf,str,4), "MsiRecordGetString returned the wrong string\n"); + ok(sz == 5, "libmsi_record_get_string returned the wrong length\n"); + ok(0==memcmp(buf,str,4), "libmsi_record_get_string returned the wrong string\n"); sz = 0; buf[0] = 'x'; - r = MsiRecordGetString(h,0,buf,&sz); + r = libmsi_record_get_string(h,0,buf,&sz); ok(r == ERROR_MORE_DATA, "wrong error\n"); - ok(sz == 5, "MsiRecordGetString returned the wrong length\n"); - ok('x'==buf[0], "MsiRecordGetString returned the wrong string\n"); + ok(sz == 5, "libmsi_record_get_string returned the wrong length\n"); + ok('x'==buf[0], "libmsi_record_get_string returned the wrong string\n"); /* same record, check we can wipe all the data */ - r = MsiRecordClearData(h); + r = libmsi_record_clear_data(h); ok(r == ERROR_SUCCESS, "Failed to clear record\n"); - r = MsiRecordClearData(h); + r = libmsi_record_clear_data(h); ok(r == ERROR_SUCCESS, "Failed to clear record again\n"); - r = MsiRecordIsNull(h,0); + r = libmsi_record_is_null(h,0); ok(r, "cleared record wasn't null\n"); /* same record, try converting strings to integers */ - i = MsiRecordSetString(h,0,"42"); + i = libmsi_record_set_string(h,0,"42"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == 42, "should get invalid integer\n"); - i = MsiRecordSetString(h,0,"-42"); + i = libmsi_record_set_string(h,0,"-42"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == -42, "should get invalid integer\n"); - i = MsiRecordSetString(h,0," 42"); + i = libmsi_record_set_string(h,0," 42"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == MSI_NULL_INTEGER, "should get invalid integer\n"); - i = MsiRecordSetString(h,0,"42 "); + i = libmsi_record_set_string(h,0,"42 "); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == MSI_NULL_INTEGER, "should get invalid integer\n"); - i = MsiRecordSetString(h,0,"42.0"); + i = libmsi_record_set_string(h,0,"42.0"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == MSI_NULL_INTEGER, "should get invalid integer\n"); - i = MsiRecordSetString(h,0,"0x42"); + i = libmsi_record_set_string(h,0,"0x42"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == MSI_NULL_INTEGER, "should get invalid integer\n"); - i = MsiRecordSetString(h,0,"1000000000000000"); + i = libmsi_record_set_string(h,0,"1000000000000000"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == -1530494976, "should get truncated integer\n"); - i = MsiRecordSetString(h,0,"2147483647"); + i = libmsi_record_set_string(h,0,"2147483647"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == 2147483647, "should get maxint\n"); - i = MsiRecordSetString(h,0,"-2147483647"); + i = libmsi_record_set_string(h,0,"-2147483647"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == -2147483647, "should get -maxint-1\n"); - i = MsiRecordSetString(h,0,"4294967297"); + i = libmsi_record_set_string(h,0,"4294967297"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == 1, "should get one\n"); - i = MsiRecordSetString(h,0,"foo"); + i = libmsi_record_set_string(h,0,"foo"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == MSI_NULL_INTEGER, "should get zero\n"); - i = MsiRecordSetString(h,0,""); + i = libmsi_record_set_string(h,0,""); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == MSI_NULL_INTEGER, "should get zero\n"); - i = MsiRecordSetString(h,0,"+1"); + i = libmsi_record_set_string(h,0,"+1"); ok(i == ERROR_SUCCESS, "Failed to set string at 0\n"); - i = MsiRecordGetInteger(h, 0); + i = libmsi_record_get_integer(h, 0); ok(i == MSI_NULL_INTEGER, "should get zero\n"); /* same record, try converting integers to strings */ - r = MsiRecordSetInteger(h, 0, 32); + r = libmsi_record_set_int(h, 0, 32); ok(r == ERROR_SUCCESS, "Failed to set integer at 0 to 32\n"); sz = 1; - r = MsiRecordGetString(h, 0, NULL, &sz); + r = libmsi_record_get_string(h, 0, NULL, &sz); ok(r == ERROR_SUCCESS, "failed to get string from integer\n"); ok(sz == 2, "length wrong\n"); buf[0]=0; sz = sizeof buf; - r = MsiRecordGetString(h, 0, buf, &sz); + r = libmsi_record_get_string(h, 0, buf, &sz); ok(r == ERROR_SUCCESS, "failed to get string from integer\n"); ok(0==strcmp(buf,"32"), "failed to get string from integer\n"); - r = MsiRecordSetInteger(h, 0, -32); + r = libmsi_record_set_int(h, 0, -32); ok(r == ERROR_SUCCESS, "Failed to set integer at 0 to 32\n"); buf[0]=0; sz = 1; - r = MsiRecordGetString(h, 0, NULL, &sz); + r = libmsi_record_get_string(h, 0, NULL, &sz); ok(r == ERROR_SUCCESS, "failed to get string from integer\n"); ok(sz == 3, "length wrong\n"); sz = sizeof buf; - r = MsiRecordGetString(h, 0, buf, &sz); + r = libmsi_record_get_string(h, 0, buf, &sz); ok(r == ERROR_SUCCESS, "failed to get string from integer\n"); ok(0==strcmp(buf,"-32"), "failed to get string from integer\n"); buf[0]=0; /* same record, now try streams */ - r = MsiRecordSetStream(h, 0, NULL); + r = libmsi_record_load_stream(h, 0, NULL); ok(r == ERROR_INVALID_PARAMETER, "set NULL stream\n"); sz = sizeof buf; - r = MsiRecordReadStream(h, 0, buf, &sz); + r = libmsi_record_save_stream(h, 0, buf, &sz); ok(r == ERROR_INVALID_DATATYPE, "read non-stream type\n"); ok(sz == sizeof buf, "set sz\n"); - r = MsiRecordDataSize( h, -1); - ok(r == 0,"MsiRecordDataSize returned wrong size\n"); - r = MsiRecordDataSize( h, 0); - ok(r == 4,"MsiRecordDataSize returned wrong size\n"); + r = libmsi_record_get_field_size( h, -1); + ok(r == 0,"libmsi_record_get_field_size returned wrong size\n"); + r = libmsi_record_get_field_size( h, 0); + ok(r == 4,"libmsi_record_get_field_size returned wrong size\n"); /* same record, now close it */ - r = MsiCloseHandle(h); + r = libmsi_unref(h); ok(r == ERROR_SUCCESS, "Failed to close handle\n"); /* now try streams in a new record - need to create a file to play with */ @@ -297,58 +297,58 @@ static void test_msirecord(void) return; /* streams can't be inserted in field 0 for some reason */ - h = MsiCreateRecord(2); + h = libmsi_record_create(2); ok(h, "couldn't create a two field record\n"); - r = MsiRecordSetStream(h, 0, filename); + r = libmsi_record_load_stream(h, 0, filename); ok(r == ERROR_INVALID_PARAMETER, "added stream to field 0\n"); - r = MsiRecordSetStream(h, 1, filename); + r = libmsi_record_load_stream(h, 1, filename); ok(r == ERROR_SUCCESS, "failed to add stream to record\n"); - r = MsiRecordReadStream(h, 1, buf, NULL); + r = libmsi_record_save_stream(h, 1, buf, NULL); ok(r == ERROR_INVALID_PARAMETER, "should return error\n"); DeleteFile(filename); /* Windows 98 doesn't like this at all, so don't check return. */ - r = MsiRecordReadStream(h, 1, NULL, NULL); + r = libmsi_record_save_stream(h, 1, NULL, NULL); ok(r == ERROR_INVALID_PARAMETER, "should return error\n"); sz = sizeof buf; - r = MsiRecordReadStream(h, 1, NULL, &sz); + r = libmsi_record_save_stream(h, 1, NULL, &sz); ok(r == ERROR_SUCCESS, "failed to read stream\n"); ok(sz==26,"couldn't get size of stream\n"); sz = 0; - r = MsiRecordReadStream(h, 1, buf, &sz); + r = libmsi_record_save_stream(h, 1, buf, &sz); ok(r == ERROR_SUCCESS, "failed to read stream\n"); ok(sz==0,"short read\n"); sz = sizeof buf; - r = MsiRecordReadStream(h, 1, buf, &sz); + r = libmsi_record_save_stream(h, 1, buf, &sz); ok(r == ERROR_SUCCESS, "failed to read stream\n"); ok(sz==sizeof buf,"short read\n"); ok(!strncmp(buf,"abcdefghij",10), "read the wrong thing\n"); sz = sizeof buf; - r = MsiRecordReadStream(h, 1, buf, &sz); + r = libmsi_record_save_stream(h, 1, buf, &sz); ok(r == ERROR_SUCCESS, "failed to read stream\n"); ok(sz==sizeof buf,"short read\n"); ok(!strncmp(buf,"klmnopqrst",10), "read the wrong thing\n"); memset(buf,0,sizeof buf); sz = sizeof buf; - r = MsiRecordReadStream(h, 1, buf, &sz); + r = libmsi_record_save_stream(h, 1, buf, &sz); ok(r == ERROR_SUCCESS, "failed to read stream\n"); ok(sz==6,"short read\n"); ok(!strcmp(buf,"uvwxyz"), "read the wrong thing\n"); memset(buf,0,sizeof buf); sz = sizeof buf; - r = MsiRecordReadStream(h, 1, buf, &sz); + r = libmsi_record_save_stream(h, 1, buf, &sz); ok(r == ERROR_SUCCESS, "failed to read stream\n"); ok(sz==0,"size non-zero at end of stream\n"); ok(buf[0]==0, "read something at end of the stream\n"); - r = MsiRecordSetStream(h, 1, NULL); + r = libmsi_record_load_stream(h, 1, NULL); ok(r == ERROR_SUCCESS, "failed to reset stream\n"); sz = 0; - r = MsiRecordReadStream(h, 1, NULL, &sz); + r = libmsi_record_save_stream(h, 1, NULL, &sz); ok(r == ERROR_SUCCESS, "bytes left wrong after reset\n"); ok(sz==26,"couldn't get size of stream\n"); - r = MsiRecordDataSize(h,1); - ok(r == 26,"MsiRecordDataSize returned wrong size\n"); + r = libmsi_record_get_field_size(h,1); + ok(r == 26,"libmsi_record_get_field_size returned wrong size\n"); /* now close the stream record */ - r = MsiCloseHandle(h); + r = libmsi_unref(h); ok(r == ERROR_SUCCESS, "Failed to close handle\n"); DeleteFile(filename); /* Delete it for sure, when everything else is closed. */ } @@ -360,59 +360,59 @@ static void test_MsiRecordGetString(void) unsigned sz; unsigned r; - rec = MsiCreateRecord(2); + rec = libmsi_record_create(2); ok(rec != 0, "Expected a valid handle\n"); sz = MAX_PATH; - r = MsiRecordGetString(rec, 1, NULL, &sz); + r = libmsi_record_get_string(rec, 1, NULL, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n",r); ok(sz == 0, "Expected 0, got %d\n",sz); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); ok(sz == 0, "Expected 0, got %d\n", sz); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 10, buf, &sz); + r = libmsi_record_get_string(rec, 10, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); ok(sz == 0, "Expected 0, got %d\n", sz); - MsiCloseHandle(rec); + libmsi_unref(rec); - rec = MsiCreateRecord(1); + rec = libmsi_record_create(1); ok(rec != 0, "Expected a valid handle\n"); - r = MsiRecordSetInteger(rec, 1, 5); + r = libmsi_record_set_int(rec, 1, 5); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; - r = MsiRecordGetString(rec, 1, NULL, &sz); + r = libmsi_record_get_string(rec, 1, NULL, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n",r); ok(sz == 1, "Expected 1, got %d\n",sz); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "5"), "Expected \"5\", got \"%s\"\n", buf); ok(sz == 1, "Expectd 1, got %d\n", sz); - r = MsiRecordSetInteger(rec, 1, -5); + r = libmsi_record_set_int(rec, 1, -5); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "-5"), "Expected \"-5\", got \"%s\"\n", buf); ok(sz == 2, "Expectd 2, got %d\n", sz); - MsiCloseHandle(rec); + libmsi_unref(rec); } static void test_MsiRecordGetInteger(void) @@ -421,28 +421,28 @@ static void test_MsiRecordGetInteger(void) int val; unsigned r; - rec = MsiCreateRecord(1); + rec = libmsi_record_create(1); ok(rec != 0, "Expected a valid handle\n"); - r = MsiRecordSetString(rec, 1, "5"); + r = libmsi_record_set_string(rec, 1, "5"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(rec, 1); + val = libmsi_record_get_integer(rec, 1); ok(val == 5, "Expected 5, got %d\n", val); - r = MsiRecordSetString(rec, 1, "-5"); + r = libmsi_record_set_string(rec, 1, "-5"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(rec, 1); + val = libmsi_record_get_integer(rec, 1); ok(val == -5, "Expected -5, got %d\n", val); - r = MsiRecordSetString(rec, 1, "5apple"); + r = libmsi_record_set_string(rec, 1, "5apple"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - val = MsiRecordGetInteger(rec, 1); + val = libmsi_record_get_integer(rec, 1); ok(val == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", val); - MsiCloseHandle(rec); + libmsi_unref(rec); } static void test_fieldzero(void) @@ -455,135 +455,135 @@ static void test_fieldzero(void) unsigned sz; unsigned r; - rec = MsiCreateRecord(1); + rec = libmsi_record_create(1); ok(rec != 0, "Expected a valid handle\n"); - r = MsiRecordGetInteger(rec, 0); + r = libmsi_record_get_integer(rec, 0); ok(r == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", r); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 0, buf, &sz); + r = libmsi_record_get_string(rec, 0, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); ok(sz == 0, "Expectd 0, got %d\n", sz); - r = MsiRecordIsNull(rec, 0); + r = libmsi_record_is_null(rec, 0); ok(r == true, "Expected true, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", r); - r = MsiRecordSetInteger(rec, 1, 42); + r = libmsi_record_set_int(rec, 1, 42); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 0); + r = libmsi_record_get_integer(rec, 0); ok(r == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", r); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 0, buf, &sz); + r = libmsi_record_get_string(rec, 0, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); ok(sz == 0, "Expectd 0, got %d\n", sz); - r = MsiRecordIsNull(rec, 0); + r = libmsi_record_is_null(rec, 0); ok(r == true, "Expected true, got %d\n", r); - r = MsiRecordGetInteger(rec, 1); + r = libmsi_record_get_integer(rec, 1); ok(r == 42, "Expected 42, got %d\n", r); - r = MsiRecordSetString(rec, 1, "bologna"); + r = libmsi_record_set_string(rec, 1, "bologna"); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 0); + r = libmsi_record_get_integer(rec, 0); ok(r == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", r); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 0, buf, &sz); + r = libmsi_record_get_string(rec, 0, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, ""), "Expected \"\", got \"%s\"\n", buf); ok(sz == 0, "Expectd 0, got %d\n", sz); - r = MsiRecordIsNull(rec, 0); + r = libmsi_record_is_null(rec, 0); ok(r == true, "Expected true, got %d\n", r); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 1, buf, &sz); + r = libmsi_record_get_string(rec, 1, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "bologna"), "Expected \"bologna\", got \"%s\"\n", buf); ok(sz == 7, "Expectd 7, got %d\n", sz); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); query = "CREATE TABLE `drone` ( " "`id` INT, `name` CHAR(32), `number` CHAR(32) " "PRIMARY KEY `id`)"; - r = MsiDatabaseOpenQuery(hdb, query, &hview); + r = libmsi_database_open_query(hdb, query, &hview); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hview, 0); + r = libmsi_query_execute(hview, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryClose(hview); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hview); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_query_close(hview); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hview); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); query = "INSERT INTO `drone` ( `id`, `name`, `number` )" "VALUES('1', 'Abe', '8675309')"; - r = MsiDatabaseOpenQuery(hdb, query, &hview); - ok(r == ERROR_SUCCESS, "MsiDatabaseOpenQuery failed\n"); - r = MsiQueryExecute(hview, 0); - ok(r == ERROR_SUCCESS, "MsiQueryExecute failed\n"); - r = MsiQueryClose(hview); - ok(r == ERROR_SUCCESS, "MsiQueryClose failed\n"); - r = MsiCloseHandle(hview); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_database_open_query(hdb, query, &hview); + ok(r == ERROR_SUCCESS, "libmsi_database_open_query failed\n"); + r = libmsi_query_execute(hview, 0); + ok(r == ERROR_SUCCESS, "libmsi_query_execute failed\n"); + r = libmsi_query_close(hview); + ok(r == ERROR_SUCCESS, "libmsi_query_close failed\n"); + r = libmsi_unref(hview); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); rec = NULL; - r = MsiDatabaseGetPrimaryKeys(hdb, "drone", &rec); + r = libmsi_database_get_primary_keys(hdb, "drone", &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 0); + r = libmsi_record_get_integer(rec, 0); ok(r == MSI_NULL_INTEGER, "Expected MSI_NULL_INTEGER, got %d\n", r); sz = MAX_PATH; strcpy(buf, "apple"); - r = MsiRecordGetString(rec, 0, buf, &sz); + r = libmsi_record_get_string(rec, 0, buf, &sz); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); ok(!strcmp(buf, "drone"), "Expected \"drone\", got \"%s\"\n", buf); ok(sz == 5, "Expectd 5, got %d\n", sz); - r = MsiRecordIsNull(rec, 0); + r = libmsi_record_is_null(rec, 0); ok(r == false, "Expected false, got %d\n", r); - MsiCloseHandle(rec); + libmsi_unref(rec); - r = MsiDatabaseGetPrimaryKeys(hdb, "nosuchtable", &rec); + r = libmsi_database_get_primary_keys(hdb, "nosuchtable", &rec); ok(r == ERROR_INVALID_TABLE, "Expected ERROR_INVALID_TABLE, got %d\n", r); query = "SELECT * FROM `drone` WHERE `id` = 1"; - r = MsiDatabaseOpenQuery(hdb, query, &hview); + r = libmsi_database_open_query(hdb, query, &hview); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryExecute(hview, 0); + r = libmsi_query_execute(hview, 0); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiQueryFetch(hview, &rec); + r = libmsi_query_fetch(hview, &rec); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r); - r = MsiRecordGetInteger(rec, 0); + r = libmsi_record_get_integer(rec, 0); ok(r != MSI_NULL_INTEGER && r != 0, "Expected non-NULL value, got %d\n", r); - r = MsiRecordIsNull(rec, 0); + r = libmsi_record_is_null(rec, 0); ok(r == false, "Expected false, got %d\n", r); - r = MsiCloseHandle(hview); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); - MsiCloseHandle(rec); - MsiCloseHandle(hdb); + r = libmsi_unref(hview); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); + libmsi_unref(rec); + libmsi_unref(hdb); DeleteFileA(msifile); } diff --git a/tests/testsuminfo.c b/tests/testsuminfo.c index bda096c..02d7b4c 100644 --- a/tests/testsuminfo.c +++ b/tests/testsuminfo.c @@ -43,50 +43,50 @@ static void test_suminfo(void) DeleteFile(msifile); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_CREATE, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); - r = MsiGetSummaryInformation(hdb, 0, NULL); - ok(r == ERROR_INVALID_PARAMETER, "MsiGetSummaryInformation wrong error\n"); + r = libmsi_database_get_summary_info(hdb, 0, NULL); + ok(r == ERROR_INVALID_PARAMETER, "libmsi_database_get_summary_info wrong error\n"); - r = MsiGetSummaryInformation(hdb, 0, &hsuminfo); - ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed %u\n", r); + r = libmsi_database_get_summary_info(hdb, 0, &hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_database_get_summary_info failed %u\n", r); - r = MsiCloseHandle(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiGetSummaryInformation(hdb, 0, &hsuminfo); - ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed %u\n", r); + r = libmsi_database_get_summary_info(hdb, 0, &hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_database_get_summary_info failed %u\n", r); - r = MsiSummaryInfoGetPropertyCount(0, NULL); + r = libmsi_summary_info_get_property_count(0, NULL); ok(r == ERROR_INVALID_HANDLE, "getpropcount failed\n"); - r = MsiSummaryInfoGetPropertyCount(hsuminfo, NULL); + r = libmsi_summary_info_get_property_count(hsuminfo, NULL); ok(r == ERROR_SUCCESS, "getpropcount failed\n"); count = -1; - r = MsiSummaryInfoGetPropertyCount(hsuminfo, &count); + r = libmsi_summary_info_get_property_count(hsuminfo, &count); ok(r == ERROR_SUCCESS, "getpropcount failed\n"); ok(count == 0, "count should be zero\n"); - r = MsiSummaryInfoGetProperty(hsuminfo, 0, NULL, NULL, NULL, 0, NULL); + r = libmsi_summary_info_get_property(hsuminfo, 0, NULL, NULL, NULL, 0, NULL); ok(r == ERROR_SUCCESS, "getpropcount failed\n"); - r = MsiSummaryInfoGetProperty(hsuminfo, -1, NULL, NULL, NULL, 0, NULL); - ok(r == ERROR_UNKNOWN_PROPERTY, "MsiSummaryInfoGetProperty wrong error\n"); + r = libmsi_summary_info_get_property(hsuminfo, -1, NULL, NULL, NULL, 0, NULL); + ok(r == ERROR_UNKNOWN_PROPERTY, "libmsi_summary_info_get_property wrong error\n"); - r = MsiSummaryInfoGetProperty(hsuminfo, MSI_PID_SECURITY+1, NULL, NULL, NULL, 0, NULL); - ok(r == ERROR_UNKNOWN_PROPERTY, "MsiSummaryInfoGetProperty wrong error\n"); + r = libmsi_summary_info_get_property(hsuminfo, MSI_PID_SECURITY+1, NULL, NULL, NULL, 0, NULL); + ok(r == ERROR_UNKNOWN_PROPERTY, "libmsi_summary_info_get_property wrong error\n"); type = -1; - r = MsiSummaryInfoGetProperty(hsuminfo, 0, &type, NULL, NULL, 0, NULL); + r = libmsi_summary_info_get_property(hsuminfo, 0, &type, NULL, NULL, 0, NULL); ok(r == ERROR_SUCCESS, "getpropcount failed\n"); ok(type == 0, "wrong type\n"); type = -1; val = 1234; - r = MsiSummaryInfoGetProperty(hsuminfo, 0, &type, &val, NULL, 0, NULL); + r = libmsi_summary_info_get_property(hsuminfo, 0, &type, &val, NULL, 0, NULL); ok(r == ERROR_SUCCESS, "getpropcount failed\n"); ok(type == 0, "wrong type\n"); ok(val == 1234, "wrong val\n"); @@ -94,162 +94,162 @@ static void test_suminfo(void) buf[0]='x'; buf[1]=0; sz = 0x10; - r = MsiSummaryInfoGetProperty(hsuminfo, MSI_PID_REVNUMBER, &type, &val, NULL, buf, &sz); + r = libmsi_summary_info_get_property(hsuminfo, MSI_PID_REVNUMBER, &type, &val, NULL, buf, &sz); ok(r == ERROR_SUCCESS, "getpropcount failed\n"); ok(buf[0]=='x', "cleared buffer\n"); ok(sz == 0x10, "count wasn't zero\n"); ok(type == VT_EMPTY, "should be empty\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "Mike"); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "Mike"); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 1, NULL, "JungAh"); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 1, NULL, "JungAh"); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 1, &ft, "Mike"); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 1, &ft, "Mike"); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, &ft, "JungAh"); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, &ft, "JungAh"); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_set_property wrong error\n"); - r = MsiCloseHandle(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* try again with the update count set */ - r = MsiGetSummaryInformation(hdb, 1, &hsuminfo); - ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed\n"); + r = libmsi_database_get_summary_info(hdb, 1, &hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_database_get_summary_info failed\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, 0, VT_LPSTR, 1, NULL, NULL); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, 0, VT_LPSTR, 1, NULL, NULL); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_CODEPAGE, VT_LPSTR, 1, NULL, NULL); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_CODEPAGE, VT_LPSTR, 1, NULL, NULL); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TITLE, VT_I4, 0, NULL, "Mike"); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TITLE, VT_I4, 0, NULL, "Mike"); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_AUTHOR, VT_I4, 0, NULL, "JungAh"); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_AUTHOR, VT_I4, 0, NULL, "JungAh"); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_KEYWORDS, VT_I2, 0, NULL, "Mike"); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_KEYWORDS, VT_I2, 0, NULL, "Mike"); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_COMMENTS, VT_FILETIME, 0, NULL, "JungAh"); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_COMMENTS, VT_FILETIME, 0, NULL, "JungAh"); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TEMPLATE, VT_I2, 0, NULL, "Mike"); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TEMPLATE, VT_I2, 0, NULL, "Mike"); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_LASTAUTHOR, VT_LPSTR, 0, NULL, NULL); - ok(r == ERROR_INVALID_PARAMETER, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_LASTAUTHOR, VT_LPSTR, 0, NULL, NULL); + ok(r == ERROR_INVALID_PARAMETER, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_LASTSAVE_DTM, VT_FILETIME, 0, NULL, NULL); - ok(r == ERROR_INVALID_PARAMETER, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_LASTSAVE_DTM, VT_FILETIME, 0, NULL, NULL); + ok(r == ERROR_INVALID_PARAMETER, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_LASTAUTHOR, VT_LPWSTR, 0, NULL, "h\0i\0\0"); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_LASTAUTHOR, VT_LPWSTR, 0, NULL, "h\0i\0\0"); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_REVNUMBER, VT_I4, 0, NULL, "Jungah"); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_REVNUMBER, VT_I4, 0, NULL, "Jungah"); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_PAGECOUNT, VT_LPSTR, 1, NULL, NULL); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_PAGECOUNT, VT_LPSTR, 1, NULL, NULL); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "Mike"); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoSetProperty failed\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "Mike"); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_set_property failed\n"); sz = 2; strcpy(buf,"x"); - r = MsiSummaryInfoGetProperty(hsuminfo, MSI_PID_TITLE, &type, NULL, NULL, buf, &sz ); - ok(r == ERROR_MORE_DATA, "MsiSummaryInfoSetProperty failed\n"); + r = libmsi_summary_info_get_property(hsuminfo, MSI_PID_TITLE, &type, NULL, NULL, buf, &sz ); + ok(r == ERROR_MORE_DATA, "libmsi_summary_info_set_property failed\n"); ok(sz == 4, "count was wrong\n"); ok(type == VT_LPSTR, "type was wrong\n"); ok(!strcmp(buf,"M"), "buffer was wrong\n"); sz = 4; strcpy(buf,"x"); - r = MsiSummaryInfoGetProperty(hsuminfo, MSI_PID_TITLE, &type, NULL, NULL, buf, &sz ); - ok(r == ERROR_MORE_DATA, "MsiSummaryInfoSetProperty failed\n"); + r = libmsi_summary_info_get_property(hsuminfo, MSI_PID_TITLE, &type, NULL, NULL, buf, &sz ); + ok(r == ERROR_MORE_DATA, "libmsi_summary_info_set_property failed\n"); ok(sz == 4, "count was wrong\n"); ok(type == VT_LPSTR, "type was wrong\n"); ok(!strcmp(buf,"Mik"), "buffer was wrong\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "JungAh"); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoSetProperty failed\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "JungAh"); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_set_property failed\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, &ft, "Mike"); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, &ft, "Mike"); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_set_property wrong error\n"); - r = MsiCloseHandle(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* try again with a higher update count */ - r = MsiGetSummaryInformation(hdb, 10, &hsuminfo); - ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed\n"); + r = libmsi_database_get_summary_info(hdb, 10, &hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_database_get_summary_info failed\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "JungAh"); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoSetProperty failed\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "JungAh"); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_set_property failed\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_CODEPAGE, VT_LPSTR, 1, NULL, NULL); - ok(r == ERROR_DATATYPE_MISMATCH, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_CODEPAGE, VT_LPSTR, 1, NULL, NULL); + ok(r == ERROR_DATATYPE_MISMATCH, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, NULL, NULL); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, NULL, NULL); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, &ft, "Mike"); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_CODEPAGE, VT_I2, 1, &ft, "Mike"); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_AUTHOR, VT_LPSTR, 1, &ft, "Mike"); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_AUTHOR, VT_LPSTR, 1, &ft, "Mike"); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoPersist(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoPersist failed\n"); + r = libmsi_summary_info_persist(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_persist failed\n"); - MsiDatabaseCommit(hdb); + libmsi_database_commit(hdb); - r = MsiCloseHandle(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); /* reread, non-zero update count */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_TRANSACT, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); - r = MsiGetSummaryInformation(hdb, 1, &hsuminfo); - ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed\n"); + r = libmsi_database_get_summary_info(hdb, 1, &hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_database_get_summary_info failed\n"); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_AUTHOR, VT_LPSTR, 1, &ft, "Mike"); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoSetProperty wrong error\n"); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_AUTHOR, VT_LPSTR, 1, &ft, "Mike"); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_set_property wrong error\n"); - r = MsiSummaryInfoPersist(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoPersist failed %u\n", r); + r = libmsi_summary_info_persist(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_persist failed %u\n", r); - r = MsiCloseHandle(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed %u\n", r); + r = libmsi_unref(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_unref failed %u\n", r); /* now with zero update count */ - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed %u\n", r); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed %u\n", r); - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); - r = MsiGetSummaryInformation(hdb, 0, &hsuminfo); - ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed %u\n", r); + r = libmsi_database_get_summary_info(hdb, 0, &hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_database_get_summary_info failed %u\n", r); - r = MsiSummaryInfoSetProperty(hsuminfo, MSI_PID_AUTHOR, VT_LPSTR, 1, &ft, "Mike"); - todo_wine ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoSetProperty wrong error, %u\n", r); + r = libmsi_summary_info_set_property(hsuminfo, MSI_PID_AUTHOR, VT_LPSTR, 1, &ft, "Mike"); + todo_wine ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_set_property wrong error, %u\n", r); - r = MsiSummaryInfoPersist(hsuminfo); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoPersist wrong error %u\n", r); + r = libmsi_summary_info_persist(hsuminfo); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_persist wrong error %u\n", r); - r = MsiCloseHandle(hsuminfo); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed\n"); + r = libmsi_unref(hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_unref failed\n"); - r = MsiCloseHandle(hdb); - ok(r == ERROR_SUCCESS, "MsiCloseHandle failed %u\n", r); + r = libmsi_unref(hdb); + ok(r == ERROR_SUCCESS, "libmsi_unref failed %u\n", r); r = DeleteFile(msifile); ok(r, "DeleteFile failed\n"); @@ -383,12 +383,12 @@ static void test_summary_binary(void) ok( INVALID_FILE_ATTRIBUTES != GetFileAttributes(msifile), "file doesn't exist!\n"); - /* just MsiOpenDatabase should not create a file */ - r = MsiOpenDatabase(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); - ok(r == ERROR_SUCCESS, "MsiOpenDatabase failed\n"); + /* just libmsi_database_open should not create a file */ + r = libmsi_database_open(msifile, LIBMSI_DB_OPEN_READONLY, &hdb); + ok(r == ERROR_SUCCESS, "libmsi_database_open failed\n"); - r = MsiGetSummaryInformation(hdb, 0, &hsuminfo); - ok(r == ERROR_SUCCESS, "MsiGetSummaryInformation failed\n"); + r = libmsi_database_get_summary_info(hdb, 0, &hsuminfo); + ok(r == ERROR_SUCCESS, "libmsi_database_get_summary_info failed\n"); /* * Check what reading MSI_PID_LASTPRINTED does... @@ -399,8 +399,8 @@ static void test_summary_binary(void) sz = sizeof sval; sval[0] = 0; type = 0; - r = MsiSummaryInfoGetProperty(hsuminfo, MSI_PID_LASTPRINTED, &type, NULL, NULL, sval, &sz); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoGetProperty failed\n"); + r = libmsi_summary_info_get_property(hsuminfo, MSI_PID_LASTPRINTED, &type, NULL, NULL, sval, &sz); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_get_property failed\n"); ok(!strcmp(sval, "") || !strcmp(sval, "7"), "Expected empty string or \"7\", got \"%s\"\n", sval); todo_wine { @@ -409,24 +409,24 @@ static void test_summary_binary(void) } ival = -1; - r = MsiSummaryInfoGetProperty(hsuminfo, MSI_PID_WORDCOUNT, &type, &ival, NULL, NULL, NULL); - ok(r == ERROR_SUCCESS, "MsiSummaryInfoGetProperty failed\n"); + r = libmsi_summary_info_get_property(hsuminfo, MSI_PID_WORDCOUNT, &type, &ival, NULL, NULL, NULL); + ok(r == ERROR_SUCCESS, "libmsi_summary_info_get_property failed\n"); todo_wine ok( ival == 0, "value incorrect\n"); /* looks like msi adds some of its own values in here */ count = 0; - r = MsiSummaryInfoGetPropertyCount( hsuminfo, &count ); + r = libmsi_summary_info_get_property_count( hsuminfo, &count ); ok(r == ERROR_SUCCESS, "getpropcount failed\n"); todo_wine ok(count == 10, "prop count incorrect\n"); - r = MsiSummaryInfoSetProperty( hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "Mike" ); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoSetProperty failed %u\n", r); + r = libmsi_summary_info_set_property( hsuminfo, MSI_PID_TITLE, VT_LPSTR, 0, NULL, "Mike" ); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_set_property failed %u\n", r); - r = MsiSummaryInfoPersist( hsuminfo ); - ok(r == ERROR_FUNCTION_FAILED, "MsiSummaryInfoPersist failed %u\n", r); + r = libmsi_summary_info_persist( hsuminfo ); + ok(r == ERROR_FUNCTION_FAILED, "libmsi_summary_info_persist failed %u\n", r); - MsiCloseHandle( hsuminfo ); - MsiCloseHandle( hdb ); + libmsi_unref( hsuminfo ); + libmsi_unref( hdb ); DeleteFile( msifile ); } |