Commit graph

200 commits

Author SHA1 Message Date
Bernhard Loos
4ac1e8e034 msi: Always use WHEREVIEW for sorting. 2011-10-20 20:48:26 +02:00
Hans Leidekker
80438ef2ce msi: Remove an unused parameter from msi_create_table. 2011-09-23 12:38:59 +02:00
Hans Leidekker
e1c2e8828f msi: Clean up the database queries. 2011-07-27 11:55:16 +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
d38ace6d4c msi: Store table and column names in the string table. 2011-07-27 11:54:58 +02:00
Hans Leidekker
911ad2bdab msi: Don't duplicate column string data. 2011-07-25 17:59:04 +02:00
Hans Leidekker
9299319b88 msi: Remove some dead assignments (clang). 2011-07-07 14:45:59 +02:00
Hans Leidekker
1ae309f981 msi: Get rid of some more forward declarations. 2011-06-07 14:18:34 +02:00
Hans Leidekker
ab13c00fc9 msi: Add support for returning validation errors. 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
cd34bfe6c1 msi: Define common strings just once. 2011-05-02 16:40:20 +02:00
Paul Vriens
abdecfbe17 msi: Only call MSI_RecordGetString() when needed (Coverity). 2011-03-17 17:44:23 +01:00
David Hedberg
599b30833a msi: Use ordering information to update the correct row. 2011-03-10 15:18:00 +01:00
Hans Leidekker
659db6e902 msi: Compare keys only in compare_record. 2011-03-07 13:17:29 +01:00
Marcus Meissner
8504548037 msi: Pointer to out of scope local variable (Coverity). 2011-03-04 16:26:01 +01:00
Hans Leidekker
bf192f6ac9 msi: Handle out-of-memory condition in encode_streamname. 2011-02-01 18:14:09 +01:00
Hans Leidekker
e861283a62 msi: Make sure the return value is initialized in save_table (clang). 2011-01-27 16:31:07 +01:00
Hans Leidekker
eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker
cf6e820106 msi: Allocate 3 bytes instead of 2 for in-memory string references.
Fixes an installer that stores string references as 2 byte integers and
grows the number of strings beyond the limit of 64k during installation.
2010-10-11 17:11:26 +02:00
Hans Leidekker
337fb86c3b msi: Use binary search to find the insert index for a row. 2010-09-24 18:21:03 +02:00
Hans Leidekker
d8b5879798 msi: Fix comparison of table ids in TABLE_Exists. 2010-09-08 19:50:15 +02:00
Hans Leidekker
eef54ffe6b msi: Open the database storage in transacted mode when MSIDBOPEN_CREATE or MSIDBOPEN_TRANSACT is specified. 2010-08-27 12:08:29 +02:00
Hans Leidekker
6b1a1579f6 msi: Update an existing record even if the low bit in the transform mask is set. 2010-06-11 15:54:47 +02:00
Hans Leidekker
8f53405544 msi: Remove the string index parameter from msi_addstringW. 2010-04-19 14:57:02 +02:00
Hans Leidekker
9f68142118 msi: Encode stream name in the callers of db_get_raw_stream. 2010-02-19 13:06:41 +01:00
James Hawkins
6b403d1a31 msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods. 2009-12-17 12:53:34 +01:00
Hans Leidekker
ef522c5ef0 msi: Clone the open stream instead of trying to open a stream again. 2009-12-16 13:04:35 +01:00
James Hawkins
f45db6eee7 msi: Implement DROP_delete that deletes the drop view. We were leaking the view before. 2009-12-14 12:20:33 +01:00
James Hawkins
9ab7d9e21a msi: Close the original record before copying new data into it. 2009-12-11 12:16:26 +01:00
James Hawkins
b13803ea40 msi: Free the column info data when updating the table column info. 2009-12-08 12:36:36 +01:00
James Hawkins
c20902314b msi: Make sure to free the extra row data when deleting a row. 2009-12-08 12:36:28 +01:00
Hans Leidekker
83e7a1214a msi: Sign extend the value when converting from a small integer. 2009-11-19 11:50:36 +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
47ec8ab0f3 msi: Remove table_find_insert_idx().
The function table_find_insert_idx() is replaced by the more generic
function find_insert_index().
2009-10-20 15:57:25 +02:00
Hib Eris
f6ae2507ef msi: Fix table rows order. 2009-10-20 15:57:09 +02:00
Hib Eris
efacff81d6 msi: Add function get_table_value_from_record. 2009-10-20 15:57:01 +02:00
Hans Leidekker
843382f284 msi: Define common strings only once. 2009-10-15 14:16:50 +02:00
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