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 which can be used.
Statement Properties
Statement properties are defined when a SQL statement is first created or when a statement is executed. 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® 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® 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 thefull_table_deletesetting. 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 thefull_table_scanssetting. 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 the 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.
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.