Commit Graph

62 Commits

Author SHA1 Message Date
Alexandre Julliard 7cd3c9f073 msi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:34:51 +02:00
Erich E. Hoover 51d5242a5f msi: Add support for deleting streams from an MSI database.
msidb allows developers to remove "streams" (cabinet files) from a
database with the "-k" mode flag.  To support that feature we need
MSIMODIFY_DELETE support in the underlying MSI implementation.

Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:01:27 +01:00
Hans Leidekker 02a25a9d4f msi: Skip the special SummaryInformation stream in msi_commit_streams.
Avoids adding a useless table stream when called on an existing database.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 17:55:23 +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 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
Hans Leidekker 1cb4367763 msi: Fix a couple of memory leaks (Valgrind).
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:23 -07:00
Hans Leidekker fa23c7fcb3 msi: Handle errors from IStorage_CreateStream instead of trying to open the stream first in msi_commit_streams. 2015-03-17 00:19:51 +09:00
Hans Leidekker af6281701d msi: Decode stream names in load_streams. 2015-03-04 23:57:41 +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 d954fbf8da msi: Get rid of the open streams cache. 2015-02-13 21:48:07 +09:00
Hans Leidekker f41ac94e0e msi: Include the terminating null in the buffer size for decoded stream names. 2014-10-02 16:59:04 +02:00
Nikolay Sivov af5e73572a msi: Fix a stream data leak on error (Coverity). 2012-12-10 11:24:25 +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 ee12b4feed msi: Check return value of msi_string2idW (Coverity). 2011-08-31 19:43:07 +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 8aa8b9b654 msi: Fully initialize the MSISTORAGESVIEW and MSISTREAMSVIEW structures. 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 d10208e863 msi: Improve traces in db_get_raw_stream. 2010-07-21 13:24:00 +02:00
Hans Leidekker 8f53405544 msi: Remove the string index parameter from msi_addstringW. 2010-04-19 14:57:02 +02:00
Hans Leidekker fc15e565d3 msi: Make the name parameter of create_storage and create_stream constant. 2010-04-19 14:56:58 +02:00
Hans Leidekker faf750f2f7 msi: Remove stream from streams cache before destroying it. 2010-03-23 13:24:27 +01:00
Hans Leidekker ba090ede7b msi: All stream names starting with 0x0005 are unencoded.
Fixes a regression caused by 1ff9923148.
2010-02-22 13:15:09 +01:00
Hans Leidekker 1ff9923148 msi: Add summary information stream to the streams table. 2010-02-19 13:06:53 +01:00
Hans Leidekker ddb2091623 msi: Fix a memory leak. 2010-02-19 13:06:46 +01:00
Hans Leidekker 19b50cff34 msi: Fix an off-by-one error in STREAMS_find_matching_rows. 2010-02-04 13:39:29 +01:00
Hans Leidekker 95a21c27da msi: Give the Name field from the _Streams table a valid type. 2010-02-04 13:39:29 +01:00
Hans Leidekker 24dd10c6b0 msi: Make room for the new row in STREAMS_insert_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker c1940c1c5f msi: Allow overwriting an existing stream in STREAMS_set_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker dcbe0fdff2 msi: Encode the stream name before trying to open it. 2010-02-04 13:39:28 +01:00
Hans Leidekker b833ae0263 msi: Improve error handling in STREAMS_set_row and add_streams_to_table. 2010-02-04 13:39:28 +01:00
Hans Leidekker 5741df2e58 msi: Implement STREAMS_get_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker 74d6fe35a2 msi: Remove unused and redundant name field from STREAM structure. 2010-02-04 13:39:28 +01:00
Alexandre Julliard dcf1a0c891 msi: Fix some pointer cast warnings on 64-bit. 2009-12-31 12:12:15 +01:00
Hans Leidekker 699cfc915a msi: Avoid a crash in STREAMS_delete. 2009-12-18 11:47:39 +01:00
James Hawkins ee2cf9a597 msi: Free the Streams and Storages view object in their respective delete methods. 2009-12-14 12:20:39 +01:00
James Hawkins 12134243c3 msi: Free each stream name when deleting the streams view. 2009-12-14 12:20:03 +01:00
Nathan Gallaher abb23d8bd5 msi: Support _Streams, _Storages tablename prefixes in SELECT. 2009-11-24 15:54:06 +01:00
Nate Gallaher cc366e1282 msi: Add tablename tracking to VIEW_find_column.
This fixes the bug where multiple columns of the same name, but
different tables are members of a join. Any attempt to refer to these
columns will resolve to the first available column with that name,
irregardless of any tablename modifier.
2009-10-27 14:01:23 +01:00
Hib Eris 8fb7fdd029 msi: Fix a crash when freeing memory. 2009-06-11 11:45:48 +02:00
Hans Leidekker 22a277cc2e msi: Fix some memory leaks. 2009-05-28 15:29:09 +02:00
James Hawkins c9b3bc1165 msi: Column attributes for temporary string and int columns should be g and j respectively. 2009-03-02 12:05:28 +01:00
James Hawkins b3c9875cf7 msi: Correctly order transposed column values in the INSERT query. 2009-03-02 12:04:57 +01:00
James Hawkins 62c544cf4f msi: Implement the DROP TABLE sql command. 2008-10-06 13:05:52 +02:00
James Hawkins d9f2120f14 msi: Ignore all non-stream elements when filling the _Streams table. 2008-08-19 13:36:25 +02:00
James Hawkins 0c3ecefbc3 msi: Include query.h to pull in the definition of STREAMS_CreateView. 2008-03-01 12:18:54 +01:00