_TransformView Table

Windows Installer

_TransformView Table

This is a read-only temporary table used to view transforms with the transform view mode. This table is never persisted by the installer.

To invoke the transform view mode, obtain a handle and open the reference database. See Obtaining a Database Handle. Call MsiDatabaseApplyTransform with MSITRANSFORM_ERROR_VIEWTRANSFORM. This stops the transform from being applied to the database and dumps the transform contents into the _TransformView table. The data in the table can be accessed using SQL queries. See Working with Queries.

The _TransformView table is not cleared when another transform is applied. The table reflects the cumulative effect of successive applications. To view the transforms separately you must release the table.

The _TransformView Table has the following columns.

Column Type Key Nullable
Table Identifier Y N
Column Text Y N
Row Text Y Y
Data Text N Y
Current Text N Y

 

Column

Table

Name of an altered database table.

Column

Name of an altered table column or INSERT, DELETE, CREATE, or DROP.

Row

A list of the primary key values separated by tabs. Null primary key values are represented by a single space character. A Null value in this column indicates a schema change.

Data

Data, name of a data stream, or a column definition.

Current

Current value from reference database, or column a number.

 

Remarks

The _TransformView is held in memory by a lock count, that can be released with the following SQL command.

"ALTER TABLE _TransformView FREE".

The data in the table can be accessed using SQL queries. The SQL language has two main divisions: Data Definition Language (DDL) that is used to define all the objects in an SQL database, and Data Manipulation Language (DML) that is used to select, insert, update, and delete data in the objects defined using DDL.

The Data Manipulation Language (DML) transform operations are indicated as follows. Data Manipulation Language (DML) are those statements in SQL that manipulate, as opposed to define, data.

Transform operation SQL result
Modify data {table} {column} {row} {data} {current value}
Insert row {table} "INSERT" {row} NULL NULL
Delete row {table} "DELETE" {row} NULL NULL

 

The Data Definition Language (DDL) transform operations are indicated as follows. Data Definition Language (DDL) are those statements in SQL that define, as opposed to manipulate, data.

Transform operation SQL result
Add column {table} {column} NULL {defn} {column number}
Add table {table} "CREATE" NULL NULL NULL
Drop table {table} "DROP" NULL NULL NULL

 

When the application of a transform adds this table, the Data field receives text that can be interpreted as a 16-bit integer value. The value describes the column named in the Column field. You can compare the integer value to the constants in the following table to determine the definition of the altered column.

BitDescription

Bits 0–7

Hexadecimal: 0x0000–0x0100

Decimal: 0–255

Column width

Bit 8

Hexadecimal: 0x0100

Decimal: 256

A persistent column. Zero means a temporary column.

Bit 9

Hexadecimal: 0x0200

Decimal: 1023

A localizable column. Zero means the column cannot be localized.

Bits 10–11

Hexadecimal: 0x0000

Decimal: 0

Long integer

Hexadecimal: 0x0400

Decimal: 1024

Short integer

Hexadecimal: 0x0800

Decimal: 2048

Binary object

Hexadecimal: 0x0C00

Decimal: 3072

String

Bit 12

Hexadecimal: 0x1000

Decimal: 4096

Nullable column. Zero means the column is non-nullable.

Bit 13

Hexadecimal: 0x2000

Decimal: 8192

Primary key column. Zero means this column is not a primary key.

Bits 14–15

Hexadecimal: 0x4000–0x8000

Decimal: 16384–32768

Reserved

 

 

For a script sample that demonstrates the _TransformView table, see View a Transform.

Send comments about this topic to Microsoft

Build date: 8/13/2009

© 2009 Microsoft Corporation. All rights reserved.