JET_TUPLELIMITS Structure

Applies to: Windows | Windows Server

JET_TUPLELIMITS Structure

The JET_TUPLELIMITS structure allows customization of the tuple index characteristics on a per-index basis, rather than a per-instance basis, using JetSetSystemParameter.

Windows Server 2003: The JET_TUPLELIMITS structure is introduced in Windows Server 2003.

    typedef struct tagJET_TUPLELIMITS {
      unsigned long chLengthMin;
      unsigned long chLengthMax;
      unsigned long chToIndexMax;
      unsigned long cchIncrement;
      unsigned long ichStart;
    } JET_TUPLELIMITS;

Members

chLengthMin

The minimum length of a tuple. The default value is 3.

chLengthMax

The maximum length of a tuple. The default value is 10.

chToIndexMax

The maximum length of a string to index. For example, if a column is 100 characters long, and chToIndexMax is set to 60, then only the first 60 characters of the column will be indexed. The default value is 32767.

cchIncrement

This allows the stride to be configured on a per index basis.

Windows Vista: The cchIncrement member is introduced in Windows Vista. Prior to Windows Vista, the amount to shift the window (the "stride") was always 1, as is shown in the example in the remarks section.

ichStart

The offset into the value to begin taking retrieving tuples from the value.

Windows Vista: The ichStart member is introduced in Windows Vista.

Remarks

A tuple index walks a string and indexes all of its possible substrings of chLengthMax. At the end of the string (or at position chToIndexMax, whichever occurs first), the substrings of at least chLengthMin will be indexed.

A tuple index can be used for searching strings with both leading and trailing wildcards.

Assuming a row with a text field of "RAIN IN SPAIN!", if a tuple index gets created with parameters chLengthMin=2, and chLengthMax=3, the following entries are created in the index:

"RAI"
"AIN"
"IN "
"N I"
" IN"
"IN "
"N S"
" SP"
"SPA"
"PAI"
"AIN"
"IN!"
"N!"

Note that "IN " occurs twice, and that the last entry ("N!") is shorter than 3 (chLengthMax). Also note that the splitting algorithm is not aware of spaces or words, and treats all characters identically.

Windows XP: Windows XP supports tuple indexes, but does not have JET_TUPLELIMITS. The database engine will used the default values (chLengthMin=3, chLengthMax=10, chToIndexMax=32767). It is still possible to change these values, but they are set on a per-instance basis using JetSetSystemParameter with JET_paramIndexTuplesLengthMin, JET_paramIndexTuplesLengthMax, and JET_paramIndexTuplesToIndexMax.

Requirements

Requirement Value

Client

Requires Windows Vista.

Server

Requires Windows Server 2008, Windows Server 2003.

Header

Declared in Esent.h.

See Also

JET_COLTYP
JET_INDEXCREATE
JET_TUPLELIMITS
JetSetSystemParameter