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