Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
0093007b
Commit
0093007b
authored
May 23, 2005
by
Mike McCormack
Committed by
Alexandre Julliard
May 23, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Track memory allocations in the SQL parser.
parent
7f99aa83
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
92 additions
and
119 deletions
+92
-119
create.c
dlls/msi/create.c
+1
-11
insert.c
dlls/msi/insert.c
+0
-1
msipriv.h
dlls/msi/msipriv.h
+2
-0
msiquery.c
dlls/msi/msiquery.c
+8
-1
query.h
dlls/msi/query.h
+3
-5
sql.y
dlls/msi/sql.y
+78
-97
update.c
dlls/msi/update.c
+0
-1
where.c
dlls/msi/where.c
+0
-3
No files found.
dlls/msi/create.c
View file @
0093007b
...
@@ -201,20 +201,10 @@ static UINT CREATE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
...
@@ -201,20 +201,10 @@ static UINT CREATE_modify( struct tagMSIVIEW *view, MSIMODIFY eModifyMode,
static
UINT
CREATE_delete
(
struct
tagMSIVIEW
*
view
)
static
UINT
CREATE_delete
(
struct
tagMSIVIEW
*
view
)
{
{
MSICREATEVIEW
*
cv
=
(
MSICREATEVIEW
*
)
view
;
MSICREATEVIEW
*
cv
=
(
MSICREATEVIEW
*
)
view
;
create_col_info
*
col
;
TRACE
(
"%p
\n
"
,
cv
);
TRACE
(
"%p
\n
"
,
cv
);
col
=
cv
->
col_info
;
while
(
col
)
{
create_col_info
*
t
=
col
;
col
=
col
->
next
;
HeapFree
(
GetProcessHeap
(),
0
,
t
->
colname
);
HeapFree
(
GetProcessHeap
(),
0
,
t
);
}
msiobj_release
(
&
cv
->
db
->
hdr
);
msiobj_release
(
&
cv
->
db
->
hdr
);
HeapFree
(
GetProcessHeap
(),
0
,
cv
->
name
);
HeapFree
(
GetProcessHeap
(),
0
,
cv
);
HeapFree
(
GetProcessHeap
(),
0
,
cv
);
return
ERROR_SUCCESS
;
return
ERROR_SUCCESS
;
...
@@ -250,7 +240,7 @@ UINT CREATE_CreateView( MSIDATABASE *db, MSIVIEW **view, LPWSTR table,
...
@@ -250,7 +240,7 @@ UINT CREATE_CreateView( MSIDATABASE *db, MSIVIEW **view, LPWSTR table,
cv
->
view
.
ops
=
&
create_ops
;
cv
->
view
.
ops
=
&
create_ops
;
msiobj_addref
(
&
db
->
hdr
);
msiobj_addref
(
&
db
->
hdr
);
cv
->
db
=
db
;
cv
->
db
=
db
;
cv
->
name
=
table
;
/* FIXME: strdupW it? */
cv
->
name
=
table
;
cv
->
col_info
=
col_info
;
cv
->
col_info
=
col_info
;
cv
->
bIsTemp
=
temp
;
cv
->
bIsTemp
=
temp
;
*
view
=
(
MSIVIEW
*
)
cv
;
*
view
=
(
MSIVIEW
*
)
cv
;
...
...
dlls/msi/insert.c
View file @
0093007b
...
@@ -233,7 +233,6 @@ static UINT INSERT_delete( struct tagMSIVIEW *view )
...
@@ -233,7 +233,6 @@ static UINT INSERT_delete( struct tagMSIVIEW *view )
sv
=
iv
->
sv
;
sv
=
iv
->
sv
;
if
(
sv
)
if
(
sv
)
sv
->
ops
->
delete
(
sv
);
sv
->
ops
->
delete
(
sv
);
delete_value_list
(
iv
->
vals
);
msiobj_release
(
&
iv
->
db
->
hdr
);
msiobj_release
(
&
iv
->
db
->
hdr
);
HeapFree
(
GetProcessHeap
(),
0
,
iv
);
HeapFree
(
GetProcessHeap
(),
0
,
iv
);
...
...
dlls/msi/msipriv.h
View file @
0093007b
...
@@ -30,6 +30,7 @@
...
@@ -30,6 +30,7 @@
#include "objbase.h"
#include "objbase.h"
#include "objidl.h"
#include "objidl.h"
#include "wine/unicode.h"
#include "wine/unicode.h"
#include "wine/list.h"
#define MSI_DATASIZEMASK 0x00ff
#define MSI_DATASIZEMASK 0x00ff
#define MSITYPE_VALID 0x0100
#define MSITYPE_VALID 0x0100
...
@@ -77,6 +78,7 @@ typedef struct tagMSIQUERY
...
@@ -77,6 +78,7 @@ typedef struct tagMSIQUERY
MSIVIEW
*
view
;
MSIVIEW
*
view
;
UINT
row
;
UINT
row
;
MSIDATABASE
*
db
;
MSIDATABASE
*
db
;
struct
list
mem
;
}
MSIQUERY
;
}
MSIQUERY
;
/* maybe we can use a Variant instead of doing it ourselves? */
/* maybe we can use a Variant instead of doing it ourselves? */
...
...
dlls/msi/msiquery.c
View file @
0093007b
...
@@ -41,10 +41,16 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
...
@@ -41,10 +41,16 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
void
MSI_CloseView
(
MSIOBJECTHDR
*
arg
)
void
MSI_CloseView
(
MSIOBJECTHDR
*
arg
)
{
{
MSIQUERY
*
query
=
(
MSIQUERY
*
)
arg
;
MSIQUERY
*
query
=
(
MSIQUERY
*
)
arg
;
struct
list
*
ptr
,
*
t
;
if
(
query
->
view
&&
query
->
view
->
ops
->
delete
)
if
(
query
->
view
&&
query
->
view
->
ops
->
delete
)
query
->
view
->
ops
->
delete
(
query
->
view
);
query
->
view
->
ops
->
delete
(
query
->
view
);
msiobj_release
(
&
query
->
db
->
hdr
);
msiobj_release
(
&
query
->
db
->
hdr
);
LIST_FOR_EACH_SAFE
(
ptr
,
t
,
&
query
->
mem
)
{
HeapFree
(
GetProcessHeap
(),
0
,
ptr
);
}
}
}
UINT
VIEW_find_column
(
MSIVIEW
*
table
,
LPCWSTR
name
,
UINT
*
n
)
UINT
VIEW_find_column
(
MSIVIEW
*
table
,
LPCWSTR
name
,
UINT
*
n
)
...
@@ -120,8 +126,9 @@ UINT MSI_DatabaseOpenViewW(MSIDATABASE *db,
...
@@ -120,8 +126,9 @@ UINT MSI_DatabaseOpenViewW(MSIDATABASE *db,
query
->
row
=
0
;
query
->
row
=
0
;
query
->
db
=
db
;
query
->
db
=
db
;
query
->
view
=
NULL
;
query
->
view
=
NULL
;
list_init
(
&
query
->
mem
);
r
=
MSI_ParseSQL
(
db
,
szQuery
,
&
query
->
view
);
r
=
MSI_ParseSQL
(
db
,
szQuery
,
&
query
->
view
,
&
query
->
mem
);
if
(
r
==
ERROR_SUCCESS
)
if
(
r
==
ERROR_SUCCESS
)
{
{
msiobj_addref
(
&
query
->
hdr
);
msiobj_addref
(
&
query
->
hdr
);
...
...
dlls/msi/query.h
View file @
0093007b
...
@@ -30,6 +30,7 @@
...
@@ -30,6 +30,7 @@
#include "msi.h"
#include "msi.h"
#include "msiquery.h"
#include "msiquery.h"
#include "msipriv.h"
#include "msipriv.h"
#include "wine/list.h"
#define OP_EQ 1
#define OP_EQ 1
...
@@ -105,7 +106,8 @@ typedef struct _column_assignment
...
@@ -105,7 +106,8 @@ typedef struct _column_assignment
}
column_assignment
;
}
column_assignment
;
UINT
MSI_ParseSQL
(
MSIDATABASE
*
db
,
LPCWSTR
command
,
MSIVIEW
**
phView
);
UINT
MSI_ParseSQL
(
MSIDATABASE
*
db
,
LPCWSTR
command
,
MSIVIEW
**
phview
,
struct
list
*
mem
);
UINT
TABLE_CreateView
(
MSIDATABASE
*
db
,
LPCWSTR
name
,
MSIVIEW
**
view
);
UINT
TABLE_CreateView
(
MSIDATABASE
*
db
,
LPCWSTR
name
,
MSIVIEW
**
view
);
...
@@ -131,10 +133,6 @@ UINT UPDATE_CreateView( MSIDATABASE *db, MSIVIEW **, LPWSTR table,
...
@@ -131,10 +133,6 @@ UINT UPDATE_CreateView( MSIDATABASE *db, MSIVIEW **, LPWSTR table,
UINT
DELETE_CreateView
(
MSIDATABASE
*
db
,
MSIVIEW
**
view
,
MSIVIEW
*
table
);
UINT
DELETE_CreateView
(
MSIDATABASE
*
db
,
MSIVIEW
**
view
,
MSIVIEW
*
table
);
void
delete_expr
(
struct
expr
*
e
);
void
delete_string_list
(
string_list
*
sl
);
void
delete_value_list
(
value_list
*
vl
);
int
sqliteGetToken
(
const
WCHAR
*
z
,
int
*
tokenType
);
int
sqliteGetToken
(
const
WCHAR
*
z
,
int
*
tokenType
);
#endif
/* __WINE_MSI_QUERY_H */
#endif
/* __WINE_MSI_QUERY_H */
dlls/msi/sql.y
View file @
0093007b
This diff is collapsed.
Click to expand it.
dlls/msi/update.c
View file @
0093007b
...
@@ -171,7 +171,6 @@ static UINT UPDATE_delete( struct tagMSIVIEW *view )
...
@@ -171,7 +171,6 @@ static UINT UPDATE_delete( struct tagMSIVIEW *view )
wv
=
uv
->
wv
;
wv
=
uv
->
wv
;
if
(
wv
)
if
(
wv
)
wv
->
ops
->
delete
(
wv
);
wv
->
ops
->
delete
(
wv
);
delete_value_list
(
uv
->
vals
);
msiobj_release
(
&
uv
->
db
->
hdr
);
msiobj_release
(
&
uv
->
db
->
hdr
);
HeapFree
(
GetProcessHeap
(),
0
,
uv
);
HeapFree
(
GetProcessHeap
(),
0
,
uv
);
...
...
dlls/msi/where.c
View file @
0093007b
...
@@ -334,9 +334,6 @@ static UINT WHERE_delete( struct tagMSIVIEW *view )
...
@@ -334,9 +334,6 @@ static UINT WHERE_delete( struct tagMSIVIEW *view )
wv
->
reorder
=
NULL
;
wv
->
reorder
=
NULL
;
wv
->
row_count
=
0
;
wv
->
row_count
=
0
;
if
(
wv
->
cond
)
delete_expr
(
wv
->
cond
);
msiobj_release
(
&
wv
->
db
->
hdr
);
msiobj_release
(
&
wv
->
db
->
hdr
);
HeapFree
(
GetProcessHeap
(),
0
,
wv
);
HeapFree
(
GetProcessHeap
(),
0
,
wv
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment