growing_buffer* query_buf = buffer_init( 64 );
int results_found = 0; // boolean
+ // Set a statement timeout of 1 second
+ dbi_result result = dbi_conn_query( handle, "SET statement_timeout TO 5000;" );
+ if( result ) {
+ dbi_result_free( result );
+ } else {
+ const char* msg;
+ int errnum = dbi_conn_error( handle, &msg );
+ osrfLogError( OSRF_LOG_MARK, "Could not set session timeout! %s",
+ msg ? msg : "(No description available)" );
+ }
+
// For each class in the IDL...
while( (class = osrfHashIteratorNext( class_itr ) ) ) {
const char* classname = osrfHashIteratorKey( class_itr );
osrfLogDebug( OSRF_LOG_MARK, "%s Investigatory SQL = %s",
modulename, OSRF_BUFFER_C_STR( query_buf ) );
- dbi_result result = dbi_conn_query( handle, OSRF_BUFFER_C_STR( query_buf ) );
+ result = dbi_conn_query( handle, OSRF_BUFFER_C_STR( query_buf ) );
if( result ) {
results_found = 1;
osrfHashIteratorFree( class_itr );
child_initialized = 1;
+ // Unset a statement timeout of 1 second
+ result = dbi_conn_query( handle, "SET statement_timeout TO DEFAULT;" );
+ if( result ) {
+ dbi_result_free( result );
+ } else {
+ const char* msg;
+ int errnum = dbi_conn_error( handle, &msg );
+ osrfLogError( OSRF_LOG_MARK, "Could not set session timeout! %s",
+ msg ? msg : "(No description available)" );
+ }
+
if( !results_found ) {
osrfLogError( OSRF_LOG_MARK,
"No results found for any class -- bad database connection?" );