44 #define _GNC_MOD_NAME GNC_ID_JOB
48 #define TABLE_NAME "jobs"
49 #define TABLE_VERSION 1
51 #define MAX_ID_LEN 2048
52 #define MAX_NAME_LEN 2048
53 #define MAX_REFERENCE_LEN 2048
58 {
"id", CT_STRING, MAX_ID_LEN,
COL_NNUL, NULL, JOB_ID },
59 {
"name", CT_STRING, MAX_NAME_LEN,
COL_NNUL,
"name" },
60 {
"reference", CT_STRING, MAX_REFERENCE_LEN,
COL_NNUL, NULL, JOB_REFERENCE },
62 "active", CT_BOOLEAN, 0,
COL_NNUL, NULL, NULL,
66 "owner", CT_OWNERREF, 0, 0, NULL, NULL,
78 g_return_val_if_fail( be != NULL, NULL );
79 g_return_val_if_fail( row != NULL, NULL );
82 pJob = gncJobLookup( be->
book, guid );
85 pJob = gncJobCreate( be->
book );
88 qof_instance_mark_clean( QOF_INSTANCE(pJob) );
99 g_return_if_fail( be != NULL );
103 gnc_sql_statement_dispose( stmt );
104 if ( result != NULL )
109 row = gnc_sql_result_get_first_row( result );
110 while ( row != NULL )
112 GncJob* pJob = load_single_job( be, row );
115 list = g_list_append( list, pJob );
117 row = gnc_sql_result_get_next_row( result );
119 gnc_sql_result_dispose( result );
135 g_return_if_fail( be != NULL );
148 g_return_val_if_fail( inst != NULL, FALSE );
149 g_return_val_if_fail( GNC_IS_JOB(inst), FALSE );
150 g_return_val_if_fail( be != NULL, FALSE );
157 job_should_be_saved(
GncJob *job )
161 g_return_val_if_fail( job != NULL, FALSE );
164 id = gncJobGetID( job );
165 if (
id == NULL || *
id ==
'\0' )
174 write_single_job(
QofInstance *term_p, gpointer data_p )
178 g_return_if_fail( term_p != NULL );
179 g_return_if_fail( GNC_IS_JOB(term_p) );
180 g_return_if_fail( data_p != NULL );
182 if ( s->is_ok && job_should_be_saved( GNC_JOB(term_p) ) )
184 s->is_ok = save_job( s->be, term_p );
193 g_return_val_if_fail( be != NULL, FALSE );
204 gnc_job_sql_initialize(
void )
208 GNC_SQL_BACKEND_VERSION,
gboolean qof_object_register_backend(QofIdTypeConst type_name, const char *backend_name, gpointer be_data)
gint gnc_sql_get_table_version(const GncSqlBackend *be, const gchar *table_name)
#define G_LOG_DOMAIN
Functions providing the SX List as a plugin page.
load and save accounts data to SQL
GncSqlStatement * gnc_sql_create_select_statement(GncSqlBackend *be, const gchar *table_name)
gboolean gnc_sql_create_table(GncSqlBackend *be, const gchar *table_name, gint table_version, const GncSqlColumnTableEntry *col_table)
load and save data to SQL
gpointer(* QofAccessFunc)(gpointer object, const QofParam *param)
const GncGUID * gnc_sql_load_guid(const GncSqlBackend *be, GncSqlRow *row)
load and save owner data to SQL
load and save job data to SQL
void gnc_sql_slots_load_for_list(GncSqlBackend *be, GList *list)
void qof_object_foreach(QofIdTypeConst type_name, QofBook *book, QofInstanceForeachCB cb, gpointer user_data)
GncSqlResult * gnc_sql_execute_select_statement(GncSqlBackend *be, GncSqlStatement *stmt)
void gnc_sql_load_object(const GncSqlBackend *be, GncSqlRow *row, QofIdTypeConst obj_name, gpointer pObject, const GncSqlColumnTableEntry *table)
gboolean gnc_sql_commit_standard_item(GncSqlBackend *be, QofInstance *inst, const gchar *tableName, QofIdTypeConst obj_name, const GncSqlColumnTableEntry *col_table)
void(* QofSetterFunc)(gpointer, gpointer)
const gchar * QofLogModule