JET_CONDITIONALCOLUMN Structure

Applies to: Windows | Windows Server

JET_CONDITIONALCOLUMN Structure

The JET_CONDITIONALCOLUMN structure defines how conditional indexing is performed for a given index. A conditional index contains an index entry for only those rows that match the specified condition. However, the conditional column is not part of the index's key, it only controls the presence of the index entry.

    typedef struct tagJET_CONDITIONALCOLUMN {
      unsigned long cbStruct;
      tchar* szColumnName;
      JET_GRBIT grbit;
    } JET_CONDITIONALCOLUMN;

Members

cbStruct

This field must be initialized to sizeof( JET_CONDITIONALCOLUMN ), in bytes.

szColumnName

The name of the column that contains the data on which the database engine is conditionally indexing the row.

grbit A group of bits that gives the options for the conditional index. Passing in zero or logically-ORed values is not valid for JET_CONDITIONALCOLUMN. The bit field must be exactly one of the following:

Value

Meaning

JET_bitIndexColumnMustBeNull

The column specified by the szColumnName parameter must be NULL for an index entry for a given row to appear in this index.

JET_bitIndexColumnMustBeNonNull

The column specified by the szColumnName parameter must be non-NULL for an index entry in order for a given row to appear in this index.

Remarks

A conditional index contains an index entry for only those rows that match the specified condition. For example, a column could be named "Marked", and when a row is marked, the column is set to a non-NULL value. A JET_bitIndexColumnMustBeNonNull conditional index on this column will show all rows that are marked, and a JET_bitIndexColumnMustBeNull conditional index will show rows that are not marked. This is also a convenient way to perform a flag deletion and garbage collecting index.

Requirements

Requirement Value

Client

Requires Windows Vista, Windows XP, or Windows 2000 Professional.

Server

Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.

Header

Declared in Esent.h.

Unicode

Implemented as JET_CONDITIONALCOLUMN_W (Unicode) and JET_CONDITIONALCOLUMN_A (ANSI).

See Also

JET_GRBIT
JET_INDEXCREATE