Properties to Control the Removal of Rows From a Table

To help in the successful removal of rows from a table, there are several ActiveSpaces properties that can be used.

Statement Properties

Statement properties are defined when a SQL statement is first created or when a statement is run. For more information, see Properties.

TIBDG_STATEMENT_PROPERTY_DOUBLE_UPDATE_TIMEOUT - When an executeUpdate() is invoked, it does not return until all rows satisfying the WHERE clause are removed. This property can be used to increase the client's timeout (in seconds) of an executeUpdate() request for a DELETE statement. This property overrides the grid's client_req_timeout setting.

Table Properties

Table configuration properties are specified when you define a table in the data grid. See the sections "Defining a Table" and "Defining a Table by Using SQL DDL Commands" in TIBCO ActiveSpaces® - Enterprise Edition Administration.

The following table configuration properties can be used to control the ability to remove all rows from a table:

full_table_delete - When set to other than inherited this property can be used to override the grid's full_table_delete configuration setting. tibdgproxy enforces the full_table_delete setting. Log messages resulting from this setting are stored in the tibdgproxy logs.

Grid Properties

Grid configuration properties are specified when you define a data grid and are applied to all relevant objects in the data grid. See the section "Defining a Data Grid" in TIBCO ActiveSpaces® - Enterprise Edition Administration.

The following grid configuration properties can be used to control the ability to remove all rows from a table for SQL DELETE statements:

  • full_table_delete - Used to control the ability to remove all rows from any table in the data grid when a DELETE statement does not contain a WHERE clause. tibdgproxy enforces the full_table_delete setting. Log messages resulting from this setting are stored in the tibdgproxy logs.

  • full_table_scans - Used to control the ability to remove all rows from any table in the data grid when a DELETE statement contains a WHERE clause but an index could not be found for the WHERE clause resulting in a full table scan being done to find the rows to delete. tibdgnode enforces the full_table_scans setting. Log message results from this setting are stored in the tibdgnode logs.

The following grid configuration properties can be used to control the amount of time before a client request times out.

client_req_timeout - The default client request timeout is 5 seconds. When an executeUpdate() method is invoked, it does not return until all rows satisfying the WHERE clause are removed. If client_req_timeout occurs before the executeUpdate() method is finished, the executeUpdate() method is canceled by the client. When the executeUpdate() for a DELETE statement is canceled, 0 is returned as the number of rows removed and any rows removed prior to the DELETE being canceled remain deleted.

Note: client_req_timeout is applied to all requests from a client to the data grid. See the statement property TIBDG_STATEMENT_PROPERTY_DOUBLE_UPDATE_TIMEOUT for information on controlling the timeout for individual DELETE statements.