summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libmsi.h66
-rw-r--r--libmsi/Makefile.am4
-rw-r--r--libmsi/alter.c60
-rw-r--r--libmsi/create.c32
-rw-r--r--libmsi/database.c172
-rw-r--r--libmsi/delete.c40
-rw-r--r--libmsi/distinct.c36
-rw-r--r--libmsi/drop.c22
-rw-r--r--libmsi/handle.c4
-rw-r--r--libmsi/insert.c56
-rw-r--r--libmsi/msipriv.h72
-rw-r--r--libmsi/msiquery.c124
-rw-r--r--libmsi/query.h30
-rw-r--r--libmsi/record.c106
-rw-r--r--libmsi/select.c78
-rw-r--r--libmsi/sql-parser.y112
-rw-r--r--libmsi/storages.c76
-rw-r--r--libmsi/streams.c112
-rw-r--r--libmsi/string.c20
-rw-r--r--libmsi/suminfo.c24
-rw-r--r--libmsi/table.c352
-rw-r--r--libmsi/tokenize.c10
-rw-r--r--libmsi/update.c48
-rw-r--r--libmsi/where.c120
-rw-r--r--tests/testdatabase.c4196
-rw-r--r--tests/testrecord.c370
-rw-r--r--tests/testsuminfo.c258
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(&current->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 );
}