Commit Graph

136 Commits

Author SHA1 Message Date
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
James Hawkins 9309f4dfa0 msi: Properly delete rows from the table, instead of zeroing out the row. 2007-06-19 11:31:44 +02:00
Andrew Talbot cf1e01eb0c msi: Constify some variables. 2007-06-14 13:20:45 +02:00
James Hawkins a05613a9f2 msi: Add support for large string tables. 2007-06-08 11:59:28 +02:00
James Hawkins 8568e0a4a8 msi: Represent table data as bytes instead of shorts. 2007-06-08 11:58:36 +02:00
James Hawkins 65f23343ee msi: Reduce the amount of code that directly accesses table data. 2007-06-08 11:58:20 +02:00
James Hawkins 298699e242 msi: Use fetch_int to reduce code duplication and access to table data. 2007-06-08 11:57:57 +02:00
Marcus Meissner ff40f3d2d3 msi: Do not mark the tables const. 2007-04-27 11:13:40 +02:00
James Hawkins da55285acb msi: Implement special handling for the _Streams table. 2007-04-25 12:44:37 +02:00
Rob Shearman 3323303e09 msi: Set rec to NULL after calling msiobj_release on it in msi_create_table so that we don't call msiobj_release on it again. 2007-04-25 11:49:26 +02:00
Rob Shearman e474304160 msi: Add a non-persistent string instead of a persistent one if the table or row is non-persistent. 2007-04-24 12:25:41 +02:00
Rob Shearman 44f7cb8858 msi: Add a persistent flag to tables.
Implement MSI_DatabaseIsTablePersistent.
2007-04-24 12:25:25 +02:00
Rob Shearman a33cc3d859 msi: Don't add info to the _Columns table for non-persistent tables. 2007-04-24 12:24:59 +02:00
Rob Shearman 23379b3b5c msi: Add support for adding temporary/non-persistent data to tables. 2007-04-24 12:24:48 +02:00
Rob Shearman 338568886c msi: Create the table directly in create_table instead of requiring it to be loaded after saving. 2007-04-24 12:23:02 +02:00
Rob Shearman ba0507a178 msi: Move table creation to table.c. 2007-04-24 12:22:48 +02:00
Rob Shearman 3aa9a25cb3 msi: Store the column info in the MSITABLE structure.
Load the data on view creation for simplicity instead of view execution.
2007-04-24 12:22:14 +02:00
Rob Shearman 94d48238ff msi: Remove the hash table for a column when one of its values is modified since it will now be invalid. 2007-04-24 12:21:40 +02:00
Rob Shearman 37b11baaa3 msi: Move string loading and saving to string.c. 2007-04-24 12:20:19 +02:00
Rob Shearman 2e3289ca6c msi: Add support for non-persistent strings.
Store the loaded refcount in the string table.
2007-04-24 12:18:04 +02:00
James Hawkins d677bd7f3b msi: Return MSICONDITION_NONE in MsiDatabaseIsTablePersistent if the table doesn't exist. 2007-04-23 14:00:24 +02:00
Mike McCormack a16e5151da msi: Factor out code to calculate column offsets. 2007-02-06 13:20:17 +01:00
Andrew Talbot e5938d6fbb msi: Remove unused variables. 2007-01-12 20:41:45 +01:00
Francois Gouget 6a385ae273 msi: assert.h is not a local header (spotted by winapi_check). 2006-11-13 12:59:14 +01:00
Alexandre Julliard 36c4ec8f33 msi: Fixed definition of the MSIITERHANDLE type. 2006-11-06 13:02:47 +01:00
Mike McCormack 14dda0f74f msi: Fix a typo. 2006-11-01 13:38:23 +01:00
Mike McCormack 9a4ba8c114 msi: Search the patch package for source cabinet files. 2006-11-01 13:38:09 +01:00
Mike McCormack 15bfb30fc3 msi: Update tables using records, not integer by integer. 2006-10-26 12:56:10 +02:00