Commit Graph

163 Commits

Author SHA1 Message Date
Hans Leidekker fc15d6d5ad msi: Downgrade two ERRs to WARNs. 2009-09-16 12:56:44 -05:00
Hans Leidekker eb101df687 msi: Fix column width calculation.
The iTunes 8 installer database has an integer column of size 1 which
takes up two bytes at storage level, so adjust the column size calculation
to account for this difference.
2009-08-04 13:05:45 +02:00
Hib Eris ec4edbfd6c msi: Implement ASSIGN mode in MsiViewModify. 2009-07-06 15:25:39 +02:00
Hib Eris 65ac206194 msi: Insert new tables in correct _Tables location. 2009-06-22 13:08:36 +02:00
Mike Kaplinskiy 2cc9a710b1 msi: Store temporary rows in the same place as persistent rows, just with a flag. 2009-06-11 13:23:25 +02:00
Hib Eris d9568722aa msi: Support transforms with binary OBJECTS. 2009-05-26 15:18:09 +02:00
Hib Eris f6dd90de5e msi: Add support for binary OBJECTS. 2009-05-26 15:18:02 +02:00
Hans Leidekker 91ac47b84b msi: Fix a double free.
TABLE_drop() calls TABLE_remove_column() which calls msi_update_table_columns()
which frees column info and possibly returns without reallocating. When that
happens it will be freed again when TABLE_drop() finally calls free_table().
2009-04-20 17:40:38 +02:00
James Hawkins 37c5e04010 msi: The _Streams and _Storages table are special and always exist. 2009-03-02 12:05:45 +01: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 74aa053485 msi: The _Tables and _Columns tables have no persistence attribute. 2009-02-26 12:13:52 +01:00
Nikolay Sivov c3e2cb00d5 msi: Remove redundant pointer check (Coverity). 2009-01-26 14:30:34 +01:00
Andrew Talbot 668197a898 msi: Declare some functions static. 2009-01-12 13:10:53 +01:00
James Hawkins b187008345 msi: Remove a part of a debugging statement that was accidentally left in. 2008-10-09 12:58:09 +02:00
James Hawkins e88b09a342 msi: Don't update the table columns if there are no more columns.
This should fix the heap corruption that caused intermittent crashes
for patchwatcher.
2008-10-07 12:14:03 +02:00
James Hawkins 374c042880 msi: Remove the columns in reverse order. 2008-10-07 12:13:46 +02:00
James Hawkins 62c544cf4f msi: Implement the DROP TABLE sql command. 2008-10-06 13:05:52 +02:00
James Hawkins 4b9fd1d5e2 msi: Store the _Columns and _Tables tables in the database structure. 2008-08-25 11:40:46 +02:00
James Hawkins ccd030c7d3 msi: Add handling for the special _Storages table. 2008-07-08 10:50:04 +02:00
James Hawkins 85866317c5 msi: Don't reorder the table when matching rows as the results are already ordered. 2008-04-07 11:27:15 +02:00
James Hawkins bed661aef4 msi: Handle sorting an empty table. 2008-04-02 12:31:01 +02:00
Andrew Talbot 6661f43438 msi: Assign to structs instead of using memcpy. 2008-03-07 11:01:07 +01:00
James Hawkins 40aa7df344 msi: Implement the MSIMODIFY_REFRESH command of MsiViewModify. 2008-02-18 12:41:37 +01:00
Gerald Pfeifer 388edd1086 msi: Complete initializers. 2008-01-10 13:20:15 +01:00
James Hawkins 4b75f33012 msi: Actually delete the row data instead of blanking it out. 2008-01-09 13:38:02 +01:00
Gerald Pfeifer 2b1e487d36 msi: Adjust the types of loop variables. 2008-01-04 12:12:43 +01:00
Gerald Pfeifer f7fea9e9f0 msi: Simplify condition in TABLE_fetch_stream(). 2008-01-02 12:38:42 +01:00
Gerald Pfeifer 05cf0bdf81 msi: Fix error handling in encode_streamname(). 2007-12-27 13:43:56 +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 3c0f7ca4e6 msi: Fix deleting temporary rows, with tests. 2007-12-23 14:17:11 +01:00
James Hawkins b774ffe1d2 msi: Free the ordering information. 2007-12-19 12:18:54 +01:00
James Hawkins 91c205e8c0 msi: Sort each table of the join separately. 2007-12-18 12:32:55 +01:00
James Hawkins 3a5178e900 msi: Don't update a table entry when applying a transform if the string value is the same. 2007-11-05 14:54:11 +01:00
James Hawkins 35a6782d7b msi: Test and implement the MSIMODIFY_DELETE command. 2007-11-05 14:52:46 +01:00
James Hawkins 26f86c55c9 msi: Return ERROR_FUNCTION_FAILED if a matching row is not found. 2007-10-18 12:09:39 +02:00
James Hawkins 46ec7ee183 msi: Return ERROR_FUNCTION_FAILED when inserting duplicate keys. 2007-10-18 12:09:33 +02:00
Alexandre Julliard 6adf058089 msi: Avoid casting const pointers to non-const. 2007-10-17 14:14:21 +02:00
Alexandre Julliard 71747518ad msi: Properly clear the new table data when a column is added. 2007-10-17 14:13:53 +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 f4147ca004 msi: Add handling for the MSIMODIFY_UPDATE command. 2007-07-24 11:49:59 +02:00
James Hawkins 8a7690c151 msi: Properly delete the columns view. 2007-07-24 11:49:33 +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
James Hawkins dc3060c542 msi: Load the AdminProperties stream if the package is an Admin package. 2007-07-17 12:54:53 +02:00
James Hawkins f0b97cb1e1 msi: Check for NULL transform, as there may be no transforms for the _Columns or _Tables tables. 2007-07-11 12:00:53 +02:00
James Hawkins 17ba74195b msi: Handle adding columns in transforms. 2007-07-10 13:35:50 +02:00
Rob Shearman 2e2b17f340 msi: Fix transforms to work when the number of bytes per string reference differs to that of the database it is being applied to. 2007-06-27 12:32:42 +02:00
Rob Shearman bf67b14602 msi: Fix bytes_per_column for binary types when the database is using 3-byte string references. 2007-06-27 12:32:42 +02:00