Properties to Control the Update of Rows in a Table

To help in the successful modification of rows in 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 modified. This property can be used to increase the client's timeout (in seconds) of an executeUpdate() request for an UPDATE statement. This property overrides the grid's client_req_timeout setting.

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 guide.

The following grid configuration properties can be used to control the ability to modify all rows of a table with SQL UPDATE statements:

  • full_table_scans - Used to control the ability to update all rows from any table in the data grid when an UPDATE 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 update. tibdgnode enforces the full_table_scans setting. Log message results from this setting are stored in the tibdgnode logs.
  • client_req_timeout - Used to control the amount of time before a client request times out. 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 an UPDATE statement is canceled, 0 is returned as the number of rows updated and any rows updated prior to the UPDATE being canceled remain modified.
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 UPDATE statements.