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::sqlite_statement Class Reference

#include <soar_db.h>

Inherits soar_module::statement.

Inherited by soar_module::pooled_sqlite_statement.

Public Member Functions

void bind_double (int param, double val)
void bind_int (int param, int64_t val)
void bind_null (int param)
void bind_text (int param, const char *val)
double column_double (int col)
int64_t column_int (int col)
const char * column_text (int col)
value_type column_type (int col)
 sqlite_statement (sqlite_database *new_db, const char *new_sql, timer *new_query_timer=NULL)
virtual ~sqlite_statement ()
- Public Member Functions inherited from soar_module::statement
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 ()
virtual exec_result _exec ()
virtual bool _prep ()
virtual void _reinit ()
void sqlite_err ()

Protected Attributes

sqlite_databasemy_db
sqlite3_stmtmy_stmt
- Protected Attributes inherited from soar_module::statement
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 350 of file soar_db.h.

Constructor & Destructor Documentation

soar_module::sqlite_statement::sqlite_statement ( sqlite_database new_db,
const char *  new_sql,
timer new_query_timer = NULL 
)
inline

Definition at line 413 of file soar_db.h.

: statement( new_sql, new_query_timer ), my_db( new_db ), my_stmt( NULL ) {}
virtual soar_module::sqlite_statement::~sqlite_statement ( )
inlinevirtual

Definition at line 415 of file soar_db.h.

References _destroy(), and my_stmt.

{
if ( my_stmt )
}

Member Function Documentation

virtual bool soar_module::sqlite_statement::_destroy ( )
inlineprotectedvirtual

Implements soar_module::statement.

Definition at line 384 of file soar_db.h.

References my_stmt, and sqlite3_finalize().

Referenced by ~sqlite_statement().

{
my_stmt = NULL;
return true;
}
virtual exec_result soar_module::sqlite_statement::_exec ( )
inlineprotectedvirtual

Implements soar_module::statement.

Definition at line 392 of file soar_db.h.

References soar_module::err, my_stmt, soar_module::ok, soar_module::row, sqlite3_step(), SQLITE_DONE, sqlite_err(), SQLITE_OK, and SQLITE_ROW.

{
int sqlite_res = sqlite3_step( my_stmt );
exec_result return_val = err;
if ( ( sqlite_res != SQLITE_OK ) &&
( sqlite_res != SQLITE_DONE ) &&
( sqlite_res != SQLITE_ROW ) )
{
}
else
{
return_val = ( ( sqlite_res == SQLITE_ROW )?( row ):( ok ) );
}
return return_val;
}
virtual bool soar_module::sqlite_statement::_prep ( )
inlineprotectedvirtual

Implements soar_module::statement.

Definition at line 362 of file soar_db.h.

References soar_module::sqlite_database::get_db(), my_db, my_stmt, soar_module::statement::sql, sqlite3_prepare_v2(), sqlite_err(), SQLITE_OK, and SQLITE_PREP_STR_MAX.

{
const char *tail;
bool return_val = false;
{
return_val = true;
}
else
{
}
return return_val;
}
virtual void soar_module::sqlite_statement::_reinit ( )
inlineprotectedvirtual

Implements soar_module::statement.

Definition at line 379 of file soar_db.h.

References my_stmt, and sqlite3_reset().

void soar_module::sqlite_statement::bind_double ( int  param,
double  val 
)
inline
void soar_module::sqlite_statement::bind_int ( int  param,
int64_t  val 
)
inline
void soar_module::sqlite_statement::bind_null ( int  param)
inline

Definition at line 433 of file soar_db.h.

References my_stmt, and sqlite3_bind_null().

{
}
void soar_module::sqlite_statement::bind_text ( int  param,
const char *  val 
)
inline
double soar_module::sqlite_statement::column_double ( int  col)
inline
int64_t soar_module::sqlite_statement::column_int ( int  col)
inline
const char* soar_module::sqlite_statement::column_text ( int  col)
inline

Definition at line 455 of file soar_db.h.

References my_stmt, and sqlite3_column_text().

Referenced by epmem_print_episode(), epmem_visualize_episode(), and smem_reverse_hash_str().

{
return reinterpret_cast<const char *>( sqlite3_column_text( my_stmt, col ) );
}
value_type soar_module::sqlite_statement::column_type ( int  col)
inline

Definition at line 460 of file soar_db.h.

References soar_module::double_t, soar_module::int_t, my_stmt, soar_module::null_t, sqlite3_column_type(), SQLITE_FLOAT, SQLITE_INTEGER, SQLITE_TEXT, and soar_module::text_t.

Referenced by epmem_init_db(), epmem_print_episode(), and epmem_visualize_episode().

{
int col_type = sqlite3_column_type( my_stmt, col );
value_type return_val = null_t;
switch ( col_type )
{
return_val = int_t;
break;
return_val = double_t;
break;
return_val = text_t;
break;
}
return return_val;
}
void soar_module::sqlite_statement::sqlite_err ( )
inlineprotected

Field Documentation

sqlite_database* soar_module::sqlite_statement::my_db
protected

Definition at line 353 of file soar_db.h.

Referenced by _prep(), and sqlite_err().

sqlite3_stmt* soar_module::sqlite_statement::my_stmt
protected

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