Alexandre Julliard
7cd3c9f073
msi: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:34:51 +02: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
8aefa871ad
msi: Use 0-indexed row numbers in the modify() view operation.
...
For consistency with other operations.
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:53 +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
Kirill Smirnov
0869852c2e
msi: Do not return success on failure (spotted by clang).
...
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 12:11:57 +09:00
Andrew Talbot
40f3a9fa59
msi: Avoid signed-unsigned integer comparisons.
2013-02-18 10:33:17 +01:00
Michael Stefaniuc
62029ff586
msi: Use FIELD_OFFSET for the size of structs with a varlength array.
2012-12-13 18:38:47 +01:00
Frédéric Delanoy
85bf1082ce
msi: Fix some leaks (coverity).
2012-11-07 13:56:03 +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
Francois Gouget
51a256e65f
Assorted spelling fixes and wording tweaks.
2011-11-28 16:40:50 +01:00
Bernhard Loos
4383aafadd
msi: Reorder tables to optimize condition evaluation.
2011-10-20 20:48:26 +02:00
Michael Stefaniuc
78ebd8f7cf
msi: Remove a redundant NULL check before free (Smatch).
2011-10-11 13:37:50 +02:00
Michael Stefaniuc
958eff8e94
msi: Remove a break after return (Smatch).
2011-10-11 13:37:50 +02:00
Bernhard Loos
9b729bb1b3
msi: Speed up WHERE statement evaluation by evaluating the condition as early as possible.
2011-09-12 17:45:51 +02:00
Bernhard Loos
dc16dd1351
msi: The underlying tables might have changed, so it's not possible to cache the result of the execute.
2011-09-12 17:45:28 +02:00
Hans Leidekker
a8b51497e5
msi: Avoid a leak when a query is executed more than once.
2011-09-05 17:17:28 +02:00
Francois Gouget
2649761175
msi: Make find_table() static.
2011-09-02 14:42:17 +02:00
Alexandre Julliard
2fcf1220eb
msi: Avoid dynamic stack allocation.
2011-08-29 13:52:32 +02:00
Bernhard Loos
f0a53a8f1b
msi: Implement proper sorting in WHEREVIEW.
2011-08-26 13:35:54 +02:00
Bernhard Loos
abd1174941
msi: Protected primary keys against modification.
2011-08-26 13:34:25 +02:00
Bernhard Loos
a52c2bf941
msi: Make WHEREVIEW able to deal directly with multiple tables.
2011-08-26 13:33:44 +02:00
Bernhard Loos
3bd0acf1ba
msi: Use an array instead of a hashtable for WHEREVIEW.
2011-08-25 14:34:34 +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
78ce0a7350
msi: Check the return value of fetch_int (clang).
2011-01-27 16:30:48 +01:00
Hans Leidekker
eaa57c5b7b
msi: Compare strings without depending on thread locale.
2010-10-19 13:49:54 +02:00
Hans Leidekker
73774b3ef8
msi: Disable an optimization in the execution of WHERE clauses.
...
There's no guarantee that the condition strings are in the string table.
2010-06-11 15:54:35 +02:00
Hans Leidekker
6df6332198
msi: Reject greater than and less than string comparisons in WHERE clauses.
2009-12-15 11:45:04 +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
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
f1e2041bf4
msi: Pass the correct view to get_row.
2008-10-20 13:09:59 +02:00
James Hawkins
62c544cf4f
msi: Implement the DROP TABLE sql command.
2008-10-06 13:05:52 +02:00
James Hawkins
4d9c17da02
msi: Don't execute the view again when modifying a WHERE query.
2008-04-07 11:27:39 +02:00
James Hawkins
724c8da734
msi: Don't bail out if the row to modify is not found as not all modify commands need the row.
2008-03-01 12:17:31 +01:00
James Hawkins
40aa7df344
msi: Implement the MSIMODIFY_REFRESH command of MsiViewModify.
2008-02-18 12:41:37 +01:00
James Hawkins
4b75f33012
msi: Actually delete the row data instead of blanking it out.
2008-01-09 13:38:02 +01:00
James Hawkins
58c7fe1095
msi: Allow the not-equal operator in WHERE query string comparisons.
2007-12-23 14:17:11 +01:00
James Hawkins
91c205e8c0
msi: Sort each table of the join separately.
2007-12-18 12:32:55 +01:00
James Hawkins
80bbf58378
msi: Use a hash table for reordering rows in a WHERE query to conserve space.
2007-12-03 13:44:46 +01:00
James Hawkins
63fe32a8bb
msi: Downgrade an ERR to a WARN.
2007-11-26 12:28:49 +01:00
James Hawkins
5e81dbebb0
msi: Treat an empty string and a NULL string as the same value.
2007-07-30 15:26:51 +02:00
James Hawkins
ac1f717ab8
msi: Keep track of the wildcard record index.
2007-07-30 12:51:47 +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
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