Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

More

Format

Examples

name

text

sorted-index-param

index-store-clause

NODE-SIZE

PERCENT-FILL

USAGE-mode

WITH_LIMIT_OF

field-name

storage-area-name

RDB/VMS Relational Database Operator CHANGE_INDEX — VMS RDB_4.0

 Changes characteristics of an index.

 You can change the following:

  o  The description text

  o  Physical characteristics of a sorted index

  o  Storage map associated with an index

 You cannot change a sorted index to a hashed index or vice versa.

 Example:

      RDO> CHANGE INDEX JH_EMPLOYEE_ID
      cont> NODE SIZE 200 PERCENT FILL 80.

Additional information available:

MoreFormatExamples

More

 To change an index with the CHANGE INDEX statement, you need the
 Rdb/VMS CHANGE privilege for the relation.

 You must execute this statement in a read/write transaction.  If
 there is no active transaction and you issue this statement, Rdb/VMS
 starts a read/write transaction implicitly.

 Other users are allowed to be attached to the database when you issue
 the CHANGE INDEX statement.

Format

 CHANGE INDEX name ───┬───────────────────────────────┬─────────────┐
                      └─> 
D

E

S

C

R

I

P

T

I

O

N
typebox (I)typebox (S) typebox (/)typebox (*) text */ ──┘ │ ┌─────────────────────────────<────────────────────────────────────┘ │ └─┬─────────────>──────────────┬─┬────────────>───────────┬──────> . └─> sorted-index-param-list ─┘ └─> index-store-clause ──┘

Additional information available:

nametextsorted-index-paramindex-store-clause

name

 The name of the index you want to change.

text

 A text string that adds a comment to the index definition.

sorted-index-param

 sorted-index-param-list =

  ────┬────┬──────────────────>──────────────────────┬───┬─────────>
      │    ├─> 
N

O

D

E

S

I

Z

E
─────> number-bytes ────────┤ │ │ ├─> 
P

E

R

C

E

N

T

F

I

L

L
──────> percentage ──────┤ │ │ └─> 
U

S

A

G

E
─────────┬─────> 
U

P

D

A

T

E
───┬────┘ │ │ └─────> 
Q

U

E

R

Y
────┘ │ │ │ └────────────────────<─────────────────────────────┘

Additional information available:

NODE-SIZEPERCENT-FILL

USAGE-mode

NODE-SIZE

 The size of each index node.  The number and level of the resulting
 index nodes depend on this value, the number and size of the index
 keys, and the value of the PERCENT FILL clause.  If you omit this
 clause in a CHANGE INDEX statement, the existing value is used.

PERCENT-FILL

 Sets the initial percentage of fullness for each node in the index
 structure.  The valid range is 1 to 100 percent.

USAGE-mode

 USAGE UPDATE, the default, sets the percent fullness of each index
 node at 70 percent.  USAGE QUERY sets this value at 100 percent.
 Supplying PERCENT FILL and the USAGE option is allowed in the syntax;
 however, the USAGE option takes precedence over an explicit PERCENT
 FILL value.

index-store-clause

 index-store-clause

 STORE ─┬──> 
W

I

T

H

I

N
────> storage-area-name ─────────────>─────────┬─> ┌──────┘ │ │ │ └─────> 
U

S

I

N

G
───┬────> field-name ───┬── 
W

I

T

H

I

N
───────>─────┐ │ └────────── , ───────┘ │ │ ┌───────────────────────────────<─────────────────────────────┘ │ └─┬─> storage-area-name ──> 
W

I

T

H

L

I

M

I

T
typebox (O)F ─┬> literal ─┬─ typebox (;) ─┬─┐ │ │ └──── , <───┘ │ │ │ └───────────────────────────<──────────────────────────────┘ │ │ ┌─────────────────────────────<────────────────────────────────┘ │ │ │ └─────────────────────> storage-area-name ───────────>────────────┘

Additional information available:

WITH_LIMIT_OF

field-namestorage-area-name

field-name

 The name of the field whose value will be used as a limit for
 partitioning the index across multiple storage areas.

storage-area-name

 The name of the storage area in which you want the index stored.  You
 must define this storage area with the DEFINE DATABASE statement
 before you refer to it in the store clause.

 If the index is a hashed index, the storage area must have a MIXED
 page format.

WITH_LIMIT_OF

 The maximum value for the index key that will reside in the specified
 storage area.  For multisegmented index keys, specify a literal value
 for each field.

 The number of literals in this clause must be 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 are modifying a multisegmented index using multisegmented
 keys and use the STORE USING...WITH LIMITS clause, 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.

Examples

 Example 1

 The following example changes the index node size to 100 bytes, and
 sets the initial fullness percentage from 70 percent to 95 percent:

 RDO> CHANGE INDEX JH_EMPLOYEE_ID
 cont>  NODE SIZE 100
 cont>  PERCENT FILL 95.

 Note that JH_EMPLOYEE_ID is a sorted index.  You cannot change node
 size, percent fill, or the USAGE clause for a hashed index.

 Example 2

 The following example changes how the index is stored by specifying a
 new index-store-clause for the index:

 RDO>    CHANGE INDEX EMPLOYEES_HASH
 cont>    DESCRIPTION IS /* Hashed index for employees */
 cont>    STORE USING EMPLOYEE_ID
 cont>    WITHIN
 cont>     EMPIDS_LOW WITH LIMIT OF "00400";
 cont>     EMPIDS_MID WITH LIMIT OF "00800";
 cont>     EMPIDS_OVER.



 Example 3

 The following example changes the size of each index node and sets
 the initial fullness percentage for each node in the index structure
 being changed.  It also specifies a storage map definition for the
 index.

 RDO>     CHANGE INDEX COLL_COLLEGE_CODE
 cont>    NODE SIZE 1250 PERCENT FILL 100
 cont>    STORE WITHIN EMP_INFO.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026