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