Zebediah Figura
e742319627
msi: Translate records as appropriate in SELECT_modify().
...
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-30 18:29:44 +01:00
Zebediah Figura
0597646455
msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
...
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
40a08f8362
msi: Implement UPDATE queries using 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
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
7728acd1b6
msi: Remove an unnecessary call to SELECT_get_dimensions().
...
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:25:01 +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
Michael Stefaniuc
dad2967943
msi: Don't over-allocate memory for a MSISELECTVIEW.
2012-11-12 13:17:00 +01:00
Hans Leidekker
9588deb54c
msi: Preserve strings with embedded nulls when copying from the string table to a record.
2012-10-29 14:41:16 +01:00
Hans Leidekker
ca49aae61e
msi: Fix handling of single quoted column names in SELECT queries.
2011-12-23 15:12:18 +01:00
Bernhard Loos
4ac1e8e034
msi: Always use WHEREVIEW for sorting.
2011-10-20 20:48:26 +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
Nathan Gallaher
5c56e1f440
msi: Add support for table names in select statements.
...
Propagate tablename from 'SELECT tablename.column from tablename' queries
into VIEW_find_column(). Previously, the tablename had been dropped.
2009-11-24 15:53:53 +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
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
91c205e8c0
msi: Sort each table of the join separately.
2007-12-18 12:32:55 +01: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
8b362f7fc8
msi: Constify some variables.
2007-06-13 11:18:35 +02:00
Rob Shearman
23379b3b5c
msi: Add support for adding temporary/non-persistent data to tables.
2007-04-24 12:24:48 +02:00
Mike McCormack
15bfb30fc3
msi: Update tables using records, not integer by integer.
2006-10-26 12:56:10 +02:00
James Hawkins
563a50ab35
msi: Make internal functions static.
2006-10-09 14:40:08 +02:00
Mike McCormack
71d8f4ebf6
msi: Create a function to copy record fields, use it to order INSERT fields correctly.
2006-09-07 11:00:19 +02:00
Alexandre Julliard
9a59ee76e4
msi: Make all the ops structures static and const.
2006-06-10 12:02:39 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Shearman
9f487ba1de
msi: Optimise WHERE operations.
...
Optimise WHERE operations on matching against strings by adding a new
function find_matching_rows to the views, which eliminates the need to
examine every record when executing a query. Implement this function
in the table using a hash table on the ID stored in the data.
2006-03-20 12:03:04 +01:00
Mike McCormack
f69d7bf0f3
msi: Count the number of columns requested and allocate that many,
...
as columns may be select more than once in from a table.
2006-01-10 12:10:19 +01:00
Mike McCormack
50684c15d5
Create the +msidb debug channel for msi database code.
2005-11-02 14:24:21 +00:00
Mike McCormack
744e22c7df
Fix various query related memory leaks.
2005-09-26 10:55:18 +00:00
Mike McCormack
8dc28d5306
Added memory allocation inline functions (part 1).
2005-09-20 11:57:19 +00:00
Mike McCormack
e8d1a167df
Implement MsiModifyView (MSIMODIFY_INSERT_TEMPORARY).
2005-08-24 11:10:23 +00:00
Mike McCormack
d1a55eb3f8
Get rid of some redundant parser types.
2005-05-29 20:17:16 +00:00
Mike McCormack
ef1d367bcc
Fix MsiModifyView and MsiViewGetColumnInfo to use MSIRECORD* not MSIHANDLE.
2005-02-08 13:44:25 +00:00
Alexandre Julliard
a7a6f5f31c
Authors: Mike McCormack <mike@codeweavers.com>, Aric Stewart <aric@codeweavers.com>
...
Refcount all objects, and use pointers internally.
2004-07-09 22:25:34 +00:00
Mike McCormack
24e9a34494
Fetch binary streams at the table level.
2004-07-06 18:56:12 +00:00
Mike McCormack
ab519f2a2c
Make the SQL insert query work.
2004-06-30 18:18:27 +00:00
Mike McCormack
068b4ec7d4
First go at write support.
2004-03-19 01:16:36 +00:00
Francois Gouget
ae50013017
Fix the case of product and company names.
2003-09-08 19:38:45 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Mike McCormack
6386edc5d8
Partial implementation of the Microsoft Installer (msi.dll).
2003-08-13 01:27:48 +00:00