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
a33cc3d8
Commit
a33cc3d8
authored
Apr 23, 2007
by
Rob Shearman
Committed by
Alexandre Julliard
Apr 24, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Don't add info to the _Columns table for non-persistent tables.
parent
23379b3b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
37 additions
and
36 deletions
+37
-36
table.c
dlls/msi/table.c
+37
-34
db.c
dlls/msi/tests/db.c
+0
-2
No files found.
dlls/msi/table.c
View file @
a33cc3d8
...
...
@@ -670,7 +670,7 @@ UINT msi_create_table( MSIDATABASE *db, LPCWSTR name, column_info *col_info,
if
(
r
)
goto
err
;
r
=
tv
->
ops
->
insert_row
(
tv
,
rec
,
FALSE
);
r
=
tv
->
ops
->
insert_row
(
tv
,
rec
,
!
persistent
);
TRACE
(
"insert_row returned %x
\n
"
,
r
);
if
(
r
)
goto
err
;
...
...
@@ -680,51 +680,54 @@ UINT msi_create_table( MSIDATABASE *db, LPCWSTR name, column_info *col_info,
msiobj_release
(
&
rec
->
hdr
);
/* add each column to the _Columns table */
r
=
TABLE_CreateView
(
db
,
szColumns
,
&
tv
);
if
(
r
)
return
r
;
r
=
tv
->
ops
->
execute
(
tv
,
0
);
TRACE
(
"tv execute returned %x
\n
"
,
r
);
if
(
r
)
goto
err
;
rec
=
MSI_CreateRecord
(
4
);
if
(
!
rec
)
goto
err
;
r
=
MSI_RecordSetStringW
(
rec
,
1
,
name
);
if
(
r
)
goto
err
;
/*
* need to set the table, column number, col name and type
* for each column we enter in the table
*/
nField
=
1
;
for
(
col
=
col_info
;
col
;
col
=
col
->
next
)
if
(
persistent
)
{
r
=
MSI_RecordSetInteger
(
rec
,
2
,
nField
);
/* add each column to the _Columns table */
r
=
TABLE_CreateView
(
db
,
szColumns
,
&
tv
);
if
(
r
)
goto
er
r
;
return
r
;
r
=
MSI_RecordSetStringW
(
rec
,
3
,
col
->
column
);
r
=
tv
->
ops
->
execute
(
tv
,
0
);
TRACE
(
"tv execute returned %x
\n
"
,
r
);
if
(
r
)
goto
err
;
r
=
MSI_RecordSetInteger
(
rec
,
4
,
col
->
type
);
if
(
r
)
r
ec
=
MSI_CreateRecord
(
4
);
if
(
!
rec
)
goto
err
;
r
=
tv
->
ops
->
insert_row
(
tv
,
rec
,
!
persistent
);
r
=
MSI_RecordSetStringW
(
rec
,
1
,
name
);
if
(
r
)
goto
err
;
nField
++
;
/*
* need to set the table, column number, col name and type
* for each column we enter in the table
*/
nField
=
1
;
for
(
col
=
col_info
;
col
;
col
=
col
->
next
)
{
r
=
MSI_RecordSetInteger
(
rec
,
2
,
nField
);
if
(
r
)
goto
err
;
r
=
MSI_RecordSetStringW
(
rec
,
3
,
col
->
column
);
if
(
r
)
goto
err
;
r
=
MSI_RecordSetInteger
(
rec
,
4
,
col
->
type
);
if
(
r
)
goto
err
;
r
=
tv
->
ops
->
insert_row
(
tv
,
rec
,
FALSE
);
if
(
r
)
goto
err
;
nField
++
;
}
if
(
!
col
)
r
=
ERROR_SUCCESS
;
}
if
(
!
col
)
r
=
ERROR_SUCCESS
;
err:
if
(
rec
)
...
...
dlls/msi/tests/db.c
View file @
a33cc3d8
...
...
@@ -2730,7 +2730,6 @@ static void test_temporary_table(void)
ok
(
r
==
ERROR_SUCCESS
,
"temporary table exists in _Tables
\n
"
);
MsiCloseHandle
(
rec
);
todo_wine
{
/* query the column data */
rec
=
0
;
r
=
do_query
(
hdb
,
"select * from `_Columns` where `Table` = 'T' AND `Name` = 'B'"
,
&
rec
);
...
...
@@ -2740,7 +2739,6 @@ static void test_temporary_table(void)
r
=
do_query
(
hdb
,
"select * from `_Columns` where `Table` = 'T' AND `Name` = 'C'"
,
&
rec
);
ok
(
r
==
ERROR_NO_MORE_ITEMS
,
"temporary table exists in _Columns
\n
"
);
if
(
rec
)
MsiCloseHandle
(
rec
);
}
MsiCloseHandle
(
hdb
);
...
...
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