Commit Graph

235 Commits

Author SHA1 Message Date
Zebediah Figura 96b6d6b587 msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Zebediah Figura 044c1dd23b msi: Support setting streams in msi_select_update().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Zebediah Figura 7c28a1dbdd msi: Get rid of the get_row() view operation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:24:59 +01:00
Zebediah Figura f45a7b04a6 msi: Set table values directly in msi_select_update().
In order to avoid the need to create a temporary record and copy values back
and forth.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:24:56 +01:00
Zebediah Figura 99425f272f msi: Factor out int_to_table_storage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:24:54 +01:00
Zebediah Figura 8aefa871ad msi: Use 0-indexed row numbers in the modify() view operation.
For consistency with other operations.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 10:28:53 +01:00
Zebediah Figura a7f455b97f msi: Use a BOOL to track string persistence.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 10:28:47 +01:00
Zebediah Figura c2810f40a0 msi: Get rid of the remove_column() view operation.
It was added to the structure, rather unnecessarily, by ccef56f2c.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 10:28:38 +01:00
Zebediah Figura ced768f2ec msi: Get rid of the find_matching_rows() view operation.
It was introduced in 9f487ba1d as part of an optimization, but ceased to be used in a52c2bf94.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 10:28:20 +01:00
Andrey Gusev 5bd1b6f410 msi: Remove checks for negative value.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-26 09:27:32 +02:00
Zebediah Figura f348c7c04c msi: Rewrite dump_record().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-11 18:25:59 +02:00
Hans Leidekker d12728a872 msi: Avoid zero size allocations (Valgrind).
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 10:52:43 +02:00
Hans Leidekker b0b2a1a4de msi: Use proper return types in msi_table_apply_transform.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:25:17 +09:00
Hans Leidekker f9dc20cfcc msi: Fix a couple of memory leaks (Coverity). 2015-07-15 23:19:25 +09:00
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