Hans Leidekker
e6ce4de393
msi: Fix an invalid memory access (valgrind).
2015-04-21 22:21:31 +09:00
Francois Gouget
232d1b6e3f
msi: Remove unneeded NONAMELESSXXX directives.
2015-03-16 15:04:21 +09:00
Hans Leidekker
123428942d
msi: Support updating streams.
2015-03-04 23:57:42 +09:00
Hans Leidekker
0dba391d67
msi: Don't write streams to storage until the database is committed.
...
Native allows streams to be created with names that exceed the maximum
length allowed by OLE storages. These streams can be used normally, it's
just not possible to commit such a database.
2015-02-13 21:48:21 +09:00
Hans Leidekker
db3346247c
msi: Get rid of the refcount parameter to msi_addstringW.
2015-02-13 21:48:12 +09:00
Hans Leidekker
c6f3f72d61
msi: Always update column info after applying a transform to the _Columns table.
2015-02-13 21:48:02 +09:00
Hans Leidekker
98ae03ff4d
msi: Update properties after each transform that affects the property table.
2014-11-04 21:19:28 +09:00
Daniel Beitler
deb2742267
msi: Prevent call to memset with a null pointer in get_tablecolumns function.
2014-05-19 10:01:43 +02:00
Nikolay Sivov
195168351f
msi: Fix a record leak on failure removing a column (Coverity).
2014-03-27 12:06:04 +01:00
Nikolay Sivov
203d282a78
msi: Fix a record leak on error path (Coverity).
2014-03-27 12:06:04 +01:00
Frédéric Delanoy
57d7f74d34
Assorted spelling fixes.
2013-11-21 19:44:46 +01:00
Hans Leidekker
1257db2109
msi: Fix integer conversion in get_table_value_from_record.
2013-07-30 14:43:34 +02:00
Michael Stefaniuc
51013ad278
msi: Use FIELD_OFFSET to calculate the size of structs with variable length array.
2012-11-09 17:10:37 +01:00
Frédéric Delanoy
84541cc5e3
msi: Fix a leak (coverity).
2012-11-05 17:44:19 +01:00
Hans Leidekker
a7ff2818fe
msi: Preserve strings with embedded nulls when copying from a record to the string table.
2012-10-29 14:41:21 +01:00
Hans Leidekker
9588deb54c
msi: Preserve strings with embedded nulls when copying from the string table to a record.
2012-10-29 14:41:16 +01:00
Hans Leidekker
6950ac1d1c
msi: Add support for storing strings with embedded nulls in the string table.
2012-10-29 14:40:40 +01:00
Marcus Meissner
b9550ad352
msi: Move free after last usage (Coverity).
2012-09-06 18:23:40 +02:00
Hans Leidekker
fde66de6a5
msi: Don't free cached tables in MsiDatabaseCommit.
2012-04-26 19:26:37 +02:00
Andoni Morales Alastruey
342fcb6198
msi: Implement MSIMODIFY_MERGE function in TABLE_modify.
2012-03-28 11:44:52 +02:00
Hans Leidekker
c8e8f44168
msi: Use the column count specified in the table transform data.
...
It can be smaller than the number of columns found in the table meta data.
2012-01-24 16:57:32 +01:00
Bernhard Loos
4ac1e8e034
msi: Always use WHEREVIEW for sorting.
2011-10-20 20:48:26 +02:00
Hans Leidekker
80438ef2ce
msi: Remove an unused parameter from msi_create_table.
2011-09-23 12:38:59 +02:00
Hans Leidekker
e1c2e8828f
msi: Clean up the database queries.
2011-07-27 11:55:16 +02:00
Hans Leidekker
d1b2058500
msi: Make the column and table name parameters of get_column_info const.
2011-07-27 11:55:06 +02:00
Hans Leidekker
d38ace6d4c
msi: Store table and column names in the string table.
2011-07-27 11:54:58 +02:00
Hans Leidekker
911ad2bdab
msi: Don't duplicate column string data.
2011-07-25 17:59:04 +02:00
Hans Leidekker
9299319b88
msi: Remove some dead assignments (clang).
2011-07-07 14:45:59 +02:00
Hans Leidekker
1ae309f981
msi: Get rid of some more forward declarations.
2011-06-07 14:18:34 +02:00
Hans Leidekker
ab13c00fc9
msi: Add support for returning validation errors.
2011-06-07 14:18:33 +02:00
Hans Leidekker
4f9971f5f8
msi: Keep track of a stream's storage.
2011-05-06 16:40:06 +02:00
Hans Leidekker
cd34bfe6c1
msi: Define common strings just once.
2011-05-02 16:40:20 +02:00
Paul Vriens
abdecfbe17
msi: Only call MSI_RecordGetString() when needed (Coverity).
2011-03-17 17:44:23 +01:00
David Hedberg
599b30833a
msi: Use ordering information to update the correct row.
2011-03-10 15:18:00 +01:00
Hans Leidekker
659db6e902
msi: Compare keys only in compare_record.
2011-03-07 13:17:29 +01:00
Marcus Meissner
8504548037
msi: Pointer to out of scope local variable (Coverity).
2011-03-04 16:26:01 +01:00
Hans Leidekker
bf192f6ac9
msi: Handle out-of-memory condition in encode_streamname.
2011-02-01 18:14:09 +01:00
Hans Leidekker
e861283a62
msi: Make sure the return value is initialized in save_table (clang).
2011-01-27 16:31:07 +01:00
Hans Leidekker
eaa57c5b7b
msi: Compare strings without depending on thread locale.
2010-10-19 13:49:54 +02:00
Hans Leidekker
cf6e820106
msi: Allocate 3 bytes instead of 2 for in-memory string references.
...
Fixes an installer that stores string references as 2 byte integers and
grows the number of strings beyond the limit of 64k during installation.
2010-10-11 17:11:26 +02:00
Hans Leidekker
337fb86c3b
msi: Use binary search to find the insert index for a row.
2010-09-24 18:21:03 +02:00
Hans Leidekker
d8b5879798
msi: Fix comparison of table ids in TABLE_Exists.
2010-09-08 19:50:15 +02:00
Hans Leidekker
eef54ffe6b
msi: Open the database storage in transacted mode when MSIDBOPEN_CREATE or MSIDBOPEN_TRANSACT is specified.
2010-08-27 12:08:29 +02:00
Hans Leidekker
6b1a1579f6
msi: Update an existing record even if the low bit in the transform mask is set.
2010-06-11 15:54:47 +02:00
Hans Leidekker
8f53405544
msi: Remove the string index parameter from msi_addstringW.
2010-04-19 14:57:02 +02:00
Hans Leidekker
9f68142118
msi: Encode stream name in the callers of db_get_raw_stream.
2010-02-19 13:06:41 +01:00
James Hawkins
6b403d1a31
msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods.
2009-12-17 12:53:34 +01:00
Hans Leidekker
ef522c5ef0
msi: Clone the open stream instead of trying to open a stream again.
2009-12-16 13:04:35 +01:00
James Hawkins
f45db6eee7
msi: Implement DROP_delete that deletes the drop view. We were leaking the view before.
2009-12-14 12:20:33 +01:00
James Hawkins
9ab7d9e21a
msi: Close the original record before copying new data into it.
2009-12-11 12:16:26 +01:00