(B)0[m[4mDEFINE[m [4mSTORAGE[m [4mMAP[m qqqqqqqqqqq> map-name qqqqqqqqqk lqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqj mqqqqqqwqqqqqqqqqqqqqqqqq>qqqqqqqqqqqqqqqwqqqqqqqqk mq> [4mDESCRIPTION[m IS /* text */ qqj x lqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqj mq> [4mFOR[m qqqqq> relation-map-clause qqqqqqqqqqqqqqqk lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqj mq> [4mEND[m qqwqqqqqqq>qqqqqqwqqwqqqqqqqq>qqqqqqqwq> . mq> map-name qqj mq> [4mSTORAGE[m [4mMAP[m qj
1 – map-name
Specifies the name for the storage map being defined.
2 – text
A text string that adds a comment to the storage map definition.
3 – relation-map-clause
(B)0[mrelation-map-clause = qqwq> relation-name qqqq> RELATION qqwqqqqqqqk mq> [4mSEGMENTED[m [4mSTRINGS[m qqqqqqqqqqqqqj x lqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqj mqqwqwqq> map-storage-clause qqqqqqqqqqqqqqqqqqwqwq> x tqq> [4mPLACEMENT[m [4mVIA[m [4mINDEX[m qq> index-name qqu x x mwqq> [4mDISABLE[m qqwq> [4mCOMPRESSION[m qqqqqqqqqqj x x mqq> [4mENABLE[m qqqj x mqqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqj
3.1 – relation-name
Specifies the relation to which the storage map will apply. The relation must already be defined and cannot have a storage map associated with it.
3.2 – SEGMENTED_STRINGS
Specified when you want to store segmented strings in multiple storage areas. Use the store-clause to specify the storage areas in which you wish to store the segmented strings.
3.3 – map-storage-clause
(B)0[mmap-storage-clause = [4mSTORE[m qw> map-within-clause qqqqqqqqqqqqqqqqqqqqqqqqqqwqk m> [4mUSING[m qw> field-name qw> map-within-clause qj x mqqqqq , <qqqqqj x lqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqqqqqqj mqwqqqqqqqqqqqqq>qqqqqqqqqqqqqqwqq> m> default-threshold-clause qj
3.3.1 – map-within-clause
(B)0[mmap-within-clause = [4mWITHIN[m qwq> area-name qwqqqqqqqqqqqqqq>qqqqqqqqqqqqqqqwqk x m> [4mWITH[m [4mLIMIT[m OF qw> literal qwj x x mqqqq , <qqqj x xlqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqj xmwqqqqqqqqqqqqqqqqqqqqqq>qqqqqqqqqqqqqqqqqqwqwqk x mq> [4mFOR[m qwqwqw> rel-name qwqqqqqqqqqqqqqqqu x x x x x mqqqq , <qqqqj x x x x x mw> relation-name.field-name qwj x x x x mqqqqqqqqqqqq , <qqqqqqqqqqqqj x x x mqqqqqqqqqqqq , <qqqqqqqqqqqqqqqqqqj x x lqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqj x mqwqqqqqqqqqq>qqqqqqqqqqwqqwqqqqqqqqq> x mq> threshold-clause qj x mqqqqqqqqqqqqq ; <qqqqqqqqqqqj
3.3.1.1 – area-name
The name of the storage area you want records stored in. You must have defined this storage area with either the DEFINE DATABASE statement or the DEFINE STORAGE AREA clause of the CHANGE DATABASE statement before you refer to it in the map- within-clause.
3.3.1.2 – WITH_LIMIT_OF
The maximum value for the index key that will reside in the specified storage area. The number of literals in this clause must be the less than or equal to the number of fields in the USING clause. Repeat this clause to partition the index entries among multiple storage areas. When you define a multisegmented index using multiple keys and use the STORE USING...WITH LIMITS clauses, if the values for the first key are all the same, then set the limit for the first key at that value. By doing this, you ensure that the value of the second key determines the storage area in which each record will be stored. Note that the last storage area you specify CANNOT have a WITH LIMIT OF clause associated with it.
3.3.1.3 – rel-name
The name of the relation whose segmented strings you want to store in the specified storage area. If you want to store the segmented strings of more than one relation in the storage area, separate the names of the relations with commas.
3.3.1.4 – relation-name.field-name
The name of the relation and segmented string field that you want to store in the specified storage area. If you want to store more than one segmented string field in the storage area, separate the list items with commas.
3.3.1.5 – threshold-clause
(B)0[mthreshold-clause= qq> [4mTHRESHOLDS[m ARE qqqqqqqqqqk lqqqqqqqqqqqqq<qqqqqqqqqqqqqj mq> ( qq> val1 qwqqqqqqqqqqq>qqqqqqqqqqwq> ) qq> mq> ,val2 qqwqqqqq>qqqqu mq> ,val3 qj Specifies associated threshold values for each storage area with uniform format that is specified in the map-within-clause. By setting threshold values, you can make sure that Oracle Rdb does not overlook a page with sufficient space to store compressed data. The threshold values specify when the page is marked as FULL in the SPAM page free space inventory lists. For example, if you set default values of 70, 85, and 95 percent, ranges of guaranteed free space on each data page are 30, 15, and 5 percent, respectively. If you do not set default values, the values are (0,0,0). With values of (0,0,0), Oracle Rdb will use the record length when setting the SPAM fullness. Oracle Rdb will never store a record on a page at threshold 3. The value you set for the highest threshold can be used to reserve space on the page for future record growth. If you specify a value of 40 for the "val1" parameter, but do not specify values for the "val2" or "val3" parameters, the threshold values will be set at (40,100,100). If you use data compression, you should use logical area thresholds to obtain optimum storage performance.
3.3.2 – USING field-name
The names of the fields whose values will be used as limits for partitioning the relation across multiple storage areas. Oracle Rdb compares values in the fields to the values in the WITH LIMIT OF clause to determine where to initially store the record.
3.3.3 – default-threshold-clause
(B)0[mdefault-threshold-clause = qq> [4mDEFAULT[m [4mTHRESHOLDS[m ARE qqk lqqqqqqqqqqqqq<qqqqqqqqqqqqqj mq> ( qq> val1 qwqqqqqqqqqqq>qqqqqqqqqqwq> ) qq> mq> ,val2 qqwqqqqq>qqqqu mq> ,val3 qj Specifies associated threshold values for each storage area with uniform format that is NOT specified in the map-within-clause. By setting threshold values, you can make sure that Oracle Rdb does not overlook a page with sufficient space to store compressed data. The threshold values specify when the page is marked as FULL in the SPAM page free space inventory lists. For example, if you set default values of 70, 85, and 95 percent, ranges of guaranteed free space on each data page are 30, 15, and 5 percent, respectively. If you do not set default values, the values are (0,0,0). With values of (0,0,0), Oracle Rdb will use the record length when setting the SPAM fullness. Oracle Rdb will never store a record on a page at threshold 3. The value you set for the highest threshold can be used to reserve space on the page for future record growth. If you specify a value of 40 for the "val1" parameter, but do not specify values for the "val2" or "val3" parameters, the threshold values will be set at (40,100,100). If you use data compression, you should use logical area thresholds to obtain optimum storage performance.
3.4 – PLACEMENT_VIA_INDEX
Indicates that Oracle Rdb should attempt to store a record in a way that optimizes access to that record via the indicated path. If the index named is a hashed index, the storage area named must have a MIXED page format. If the hashed index definition and the storage map for the relation designate the same storage area, then the record is stored on the same page as the hashed index node. Otherwise, Oracle Rdb uses the same relative page within the data storage area as the target page. If the index named is a sorted index, Oracle Rdb finds the dbkey of the next lowest record to the one being stored and uses the page number in the dbkey as the target page.
3.5 – COMPRESSION clause
Specifies whether data compression will be enabled or disabled when the records are stored. ENABLE COMPRESSION is the default.