Support up to 8 index segments for application use
An internal limitation was removed to allow use of up to eight index segments for application use. Previous Eloquence versions only supported 7 segments for application use due to internal use of an additional segment.
The schema processor and dbutil utility were modified to support the new limit for Eloquence B.07.10 and beyond and fallback to the previous limit when connecting to older server versions.
Not adding index entries for default values
The server, the schema processor, the prschema and the dbutil utility were modified to support an option to not add index entries for default item values (eg. empty strings).
The schema processor was modified to allow specifying options for an index item.
<iitem> ( <iitem options> ) = <iitem definition>
The EMPTY option is currently the only option supported. If specified it indicates that no index entry is created if the index would have a default value.
MATCHCODE (EMPTY) = NAME:10;
The dbutil utility supports the following syntax to enable the new behavior for an index item:
CHANGE IITEM <iitem> FLAGS EMPTY;
Support offset into item
The database server, client libarary and schema/dbutil utilities were modified to support specifying a starting position into an item for an index segment.
The schema processor was modified to support the following syntax:
<iitem> ( <options> ) = <item name> [:[start.].size] [,...]
MATCHCODE (EMPTY) = NAME:1.5;
An offset into an item may only be specified for string items (item type X or U). If present, it specifies the starting byte position of the index segment.
The dbutil utility supports the following syntax to allow specifying the starting position of an index segment:
CREATE IITEM MATCHCODE (EMPTY) = NAME:1.5;