REST API Support for Auto-Purge
The Auto-Purge feature is available in the REST API. This feature requires a partitioned table, which is set up as shown below. You will define a rule that will determine the partition number (for example, you might use part of the datetime stamp to create a partition for every day or month). You will also specify the maximum number of active partitions. After this value has been exceeded, partitions will be deleted automatically.
To create a partitioned table, you need to create a "partition index" on an existing table. The JSON request syntax to create an index includes a partition property that allows specifying a partitioned file setting as follows:
partition { description: Optional parameter. If set, the index is a partition index and the table becomes a partitioned table with the settings defined by this property rule* string An expression that evaluates to an integer will be used as a partition number. numberofbits integer Optional parameter. Set the number of bits used to store the raw partition number. By default, 16 bits of the 64-bit record offset are used to reference the raw partition number, allowing each partitioned file to support up to 65535 member files over its lifetime. A value of 0 defaults to 16 bits, values less than 4 bits default to 4 bits (maximum 15 member files), and 32 bits is the maximum value. maximumactive integer Number of maximum active partitions. When this maximum is exceeded, c-tree's auto purging feature takes care of purging. }
Example of use:
{ "unique": true, "fields": [ { "name": "custnumb", "ascending": true } ], "partition": { "rule": "custnumb - 1", "numberofbits": 16, "maximumactive": 30 } }
The JSON returned when describing the table includes "remarks" information about the partitioned file setting. The "remarks" property is ignored when defining the table structure. For example:
remarks { description: Read-only optional property. Contains information about the table structure that is set through other means than a table definition during creation partitioned { description: The table is partitioned partition_index string The name of the partition index rule string The partition rule numberofbits integer Optional parameter. Set the number of bits used to store the raw partition number. By default, 16 bits of the 64-bit record offset are used to reference the raw partition number, allowing each partitioned file to support up to 65535 member files over its lifetime. A value of 0 defaults to 16 bits, values less than 4 bits default to 4 bits (maximum 15 member files), and 32 bits is the maximum value. maximumactive integer number of maximum active partitions, when exceeding the maximum c-tree's auto-purging feature takes care of purging } }
Example of use:
{ "fields": [ { "name": "custnumb", "type": "INTEGER" }, { "name": "custzipc", "type": "CHAR", "length": 9 }, { "name": "custstat", "type": "CHAR", "length": 2 }, { "name": "custrtng", "type": "CHAR", "length": 1 }, { "name": "custname", "type": "VARCHAR", "length": 47 }, { "name": "custaddr", "type": "VARCHAR", "length": 47 }, { "name": "custcity", "type": "VARCHAR", "length": 47 } ], "remarks": { "partitioned": { "partition_index": "partidx2", "rule": "custnumb - 1", "numberofbits": 16, "maximumactive": 30 } } }