Purpose: Creates a new persistent array record on the GT.M or Caché system, or updates the value of an existing record.
Note that no pre-declaration of either the array name or its subscripting structure is required. Creation of array records is totally dynamic.
The array node to be created or updated. This takes the format:
You may specify no subscripts at all, in which case the top-level node is set,eg:
Setting a value at the first level of subscripting would look like:
Setting a value at the second level of subscripting would look like:
Note that subscripts can be numeric or text. Text subscripts must be wrapped in double quote (") characters. Quoting of numeric subscripts is optional.
|2||The number of bytes that follow in the next line to be sent by the client that defines the data.|
A successful SET returns +OK
Client: SET test1["a","b"] 5 Client: hello Server: +OK
Client: SET test1 22 Client: This is the top level! Server: +OK
To set a null value, use a length of zero followed by an empty next record (the following example has been extended to show the terminating CRLFs for clarity):
Client: SET test1["a","c"] 0\r\n Client: \r\n Server: +OK\r\n
For those familiar with the native language of GT.M and Caché systems, the above two examples are the equivalent of:
set ^test1("a","b")="hello" set ^test1="This is the top level!" set ^test1("a","c")=""