Soar Kernel  9.3.2 08-06-12
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes
soar_module::statement Class Reference

#include <soar_db.h>

Inherits soar_module::status_object< statement_status >.

Inherited by soar_module::sqlite_statement.

Public Member Functions

void clean ()
exec_result execute (statement_action post_action=op_none)
void prepare ()
void reinitialize ()
void set_timer (timer *new_query_timer)
 statement (const char *new_sql, timer *new_query_timer)
virtual ~statement ()
- Public Member Functions inherited from soar_module::status_object< statement_status >
const char * get_errmsg ()
int get_errno ()
statement_status get_status ()
 status_object ()
virtual ~status_object ()

Protected Member Functions

virtual bool _destroy ()=0
virtual exec_result _exec ()=0
virtual bool _prep ()=0
virtual void _reinit ()=0
- Protected Member Functions inherited from soar_module::status_object< statement_status >
void set_errmsg (const char *new_msg)
void set_errno (int new_errno)
void set_status (statement_statusnew_status)

Protected Attributes

timerquery_timer
const char * sql
- Protected Attributes inherited from soar_module::status_object< statement_status >
char * my_errmsg
int my_errno
statement_status my_status

Detailed Description

Definition at line 110 of file soar_db.h.

Constructor & Destructor Documentation

soar_module::statement::statement ( const char *  new_sql,
timer new_query_timer 
)
inline

Definition at line 122 of file soar_db.h.

References soar_module::status_object< statement_status >::set_status(), and soar_module::unprepared.

: sql( new_sql ), query_timer( new_query_timer )
{
}
virtual soar_module::statement::~statement ( )
inlinevirtual

Definition at line 127 of file soar_db.h.

{}

Member Function Documentation

virtual bool soar_module::statement::_destroy ( )
protectedpure virtual

Implemented in soar_module::sqlite_statement.

Referenced by clean().

virtual exec_result soar_module::statement::_exec ( )
protectedpure virtual

Implemented in soar_module::sqlite_statement.

Referenced by execute().

virtual bool soar_module::statement::_prep ( )
protectedpure virtual

Implemented in soar_module::sqlite_statement.

Referenced by prepare().

virtual void soar_module::statement::_reinit ( )
protectedpure virtual

Implemented in soar_module::sqlite_statement.

Referenced by reinitialize().

void soar_module::statement::clean ( )
inline
exec_result soar_module::statement::execute ( statement_action  post_action = op_none)
inline

Definition at line 131 of file soar_db.h.

References _exec(), clean(), soar_module::err, soar_module::status_object< statement_status >::get_status(), soar_module::op_clean, soar_module::op_none, soar_module::op_reinit, query_timer, soar_module::ready, reinitialize(), soar_module::timer::start(), and soar_module::timer::stop().

Referenced by _epmem_promote_id(), _epmem_store_level(), _smem_print_lti(), _smem_process_cue_wme(), epmem_backup_db(), epmem_build_dnf(), epmem_close(), epmem_get_variable(), epmem_init_db(), epmem_new_episode(), epmem_next_episode(), epmem_previous_episode(), epmem_print_episode(), epmem_process_query(), epmem_register_pedges(), epmem_rit_add_left(), epmem_rit_add_right(), epmem_rit_clear_left_right(), epmem_rit_insert_interval(), epmem_set_variable(), epmem_temporal_hash(), epmem_valid_episode(), epmem_visualize_episode(), smem_backup_db(), smem_close(), smem_disconnect_chunk(), smem_init_db(), smem_install_memory(), smem_lti_activate(), smem_lti_add_id(), smem_lti_calc_base(), smem_lti_get_id(), smem_print_lti(), smem_print_store(), smem_process_query(), smem_reset_id_counters(), smem_respond_to_cmd(), smem_reverse_hash_float(), smem_reverse_hash_int(), smem_reverse_hash_str(), smem_store_chunk(), smem_temporal_hash_add(), smem_temporal_hash_float(), smem_temporal_hash_int(), smem_temporal_hash_str(), smem_variable_create(), smem_variable_get(), smem_variable_set(), smem_visualize_lti(), smem_visualize_store(), stats_db_store(), and soar_module::sqlite_statement_container::structure().

{
exec_result return_val = err;
if ( get_status() == ready )
{
if ( query_timer )
return_val = _exec();
assert( return_val != err );
if ( query_timer )
// post-action
switch ( post_action )
{
case op_reinit:
break;
case op_clean:
clean();
break;
case op_none:
break;
}
}
return return_val;
}
void soar_module::statement::prepare ( )
inline
void soar_module::statement::reinitialize ( )
inline
void soar_module::statement::set_timer ( timer new_query_timer)
inline

Definition at line 188 of file soar_db.h.

References query_timer.

Referenced by soar_module::sqlite_statement_pool::request().

{
query_timer = new_query_timer;
}

Field Documentation

timer* soar_module::statement::query_timer
protected

Definition at line 114 of file soar_db.h.

Referenced by execute(), and set_timer().

const char* soar_module::statement::sql
protected

Definition at line 113 of file soar_db.h.

Referenced by soar_module::sqlite_statement::_prep().


The documentation for this class was generated from the following file: