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
Mike McCormack
50e5caeb6c
msi: Fix WHERE IS (NOT) NULL queries.
2006-11-07 15:06:57 +01:00
Mike McCormack
15bfb30fc3
msi: Update tables using records, not integer by integer.
2006-10-26 12:56:10 +02:00
Mike McCormack
65d12c342d
msi: Fix the value of LONG integers in records (suggested by James Hawkins).
2006-07-27 11:57:12 +02:00
Mike McCormack
4ab109e507
msi: Fix where queries on 32bit integer columns.
2006-07-25 11:22:43 +02:00
Alexandre Julliard
9a59ee76e4
msi: Make all the ops structures static and const.
2006-06-10 12:02:39 +02:00
Robert Shearman
d70db020a6
msi: An empty string is equivalent to nil, so handle this in the optimised WHERE_execute path.
2006-06-05 13:45:53 +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
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
b58a098a11
-Wmissing-declarations and -Wwrite-strings warning fixes.
2005-05-29 20:08:12 +00:00
Mike McCormack
0093007b32
Track memory allocations in the SQL parser.
2005-05-23 12:08:17 +00:00
Mike McCormack
e2df8814ea
Allow MsiViewExecute to be called twice on the same query.
2005-02-16 16:06:05 +00:00
Mike McCormack
ef1d367bcc
Fix MsiModifyView and MsiViewGetColumnInfo to use MSIRECORD* not MSIHANDLE.
2005-02-08 13:44:25 +00:00
Michael Stefaniuc
b937407ee5
Do not check for non NULL pointer before HeapFree'ing it. It's
...
redundant.
2005-01-20 10:36:35 +00:00
Mike McCormack
1bd8d8a55a
Fix selecting string columns and matching against a wildcard.
2004-12-22 15:22:12 +00:00
Aric Stewart
bc6ce2b249
Free memory after we finish using it instead of just before.
2004-08-25 17:31:39 +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
11553baa63
Implement the UPDATE query.
2004-07-04 00:30:02 +00:00
Mike McCormack
f6492dc5ca
Create the WHERE part of a query in one function call.
2004-07-04 00:27:48 +00:00
Mike McCormack
ab519f2a2c
Make the SQL insert query work.
2004-06-30 18:18:27 +00:00
Mike McCormack
fb3f40b962
Fix crash that occurred when an invalid query string was deleted
...
twice.
2004-06-26 00:18:23 +00:00
Mike McCormack
9d66d94780
Implement queries by string value.
2004-06-26 00:11:08 +00:00
Mike McCormack
ce533b7a70
Start implementing the SQL insert query.
2004-03-20 19:18:46 +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