52 Commits

Author SHA1 Message Date
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 1ff992314887d03abeb4098789701ff3bfd5d2d8.
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
Gerald Pfeifer
6bf0f0e1f6 msi: Adjust the signedness of three variables. 2008-02-19 18:08:28 +01:00
Marcus Meissner
11b25a65ac msi: Fixed error reporting of add_streams_to_table. 2008-02-16 15:15:26 +01:00
James Hawkins
146e34e662 msi: Implement the MSIMODIFY_ASSIGN action of MsiViewModify for the streams table. 2008-02-05 12:19:36 +01:00
Rob Shearman
5b072fbbec msi: Fix several memory leaks after using IEnumSTATSTG_Next.
The pwcsName field of STATSTG must be freed, otherwise the memory will 
be leaked.
2007-12-26 14:02:01 +01:00
James Hawkins
91c205e8c0 msi: Sort each table of the join separately. 2007-12-18 12:32:55 +01:00
James Hawkins
2694cf3ff8 msi: Add handling for MSIMODIFY_INSERT for the streams table. 2007-10-18 12:10:13 +02:00
James Hawkins
b830fb0a34 msi: Implement the MSIMODIFY_UPDATE command in the SELECT view. 2007-07-27 12:24:39 +02:00
James Hawkins
ccef56f2cc msi: Ref count temporary columns and release them when necessary. 2007-07-23 11:55:34 +02:00
James Hawkins
0fd733bf90 msi: Implement adding columns using the ALTER command. 2007-07-23 11:55:11 +02:00
James Hawkins
3b1ab76986 msi: Implement reference counting for tables, manipulated with the HOLD and FREE sql commands. 2007-07-19 12:00:43 +02:00