26 #ifndef DBA_DATABASE_H 27 #define DBA_DATABASE_H 33 #define ARRAY_LENGTH(X) (sizeof(X) / sizeof(*X)) 34 #define INITIAL_VERSION 0 82 OPERATION_TYPE operation;
86 extern const S32BIT database_layout_version;
90 extern const S_TABLE database_layout[];
91 extern const U32BIT database_layout_length;
void Database_SetRecordFieldBlob(S_FIELD *field, const void *value, U32BIT size)
Set blob value of 'field'.
Definition: database.c:600
Definition: database.h:44
S_FIELD * Database_GetField(S_RECORD *record, const S_COLUMN *column)
Get field from 'column' in given 'record'.
Definition: database.c:249
void Database_ClearRecordOperation(S_RECORD *record)
Clear the record operation.
Definition: database.c:405
Definition: database.h:50
void Database_SetRecordFieldUInt(S_FIELD *field, U32BIT value)
Set uint value of 'field'.
Definition: database.c:496
Definition: database.h:74
BOOLEAN Database_DeleteRecord(S_RECORD *record)
Free 'record' buffers and mark as deleted. If not created in SQLite 'record' is destroyed automatical...
Definition: database.c:307
void Database_SetRecordParent(S_RECORD *record, S_RECORD *parent)
Set the parent of 'record'.
Definition: database.c:445
void Database_Clear(void)
Clear runtime database.
Definition: database.c:96
void Database_Uninitialise(void)
Uninitialise runtime database.
Definition: database.c:77
S_RECORD * Database_GetRecord(const S_TABLE *table, const S_RECORD *prev, BOOLEAN exclude_deleted)
Get record in 'table' after 'prev' or first record if 'prev' is NULL.
Definition: database.c:185
Header file - Function prototypes for linked lists.
Definition: database.h:56
const S_COLUMN * Database_GetColumn(const S_TABLE *table, U32BIT field_type)
Get column in 'table' with given 'field_type'.
Definition: database.c:155
const char * Database_GetRecordFieldText(S_FIELD *field, U32BIT *size)
Get text value of 'field'.
Definition: database.c:516
void Database_DestroyRecord(S_RECORD *record)
Destroy deleted 'record'.
Definition: database.c:363
const S_TABLE * Database_GetTable(U32BIT record_type)
Get table with given 'record_type'.
Definition: database.c:128
BOOLEAN Database_Initialise(void)
Initialise runtime database.
Definition: database.c:46
S_RECORD * Database_CreateRecord(const S_TABLE *table, S_RECORD *parent)
Create database record of type 'table' with optional 'parent'.
Definition: database.c:272
void Database_AddRecordOperation(S_RECORD *record, OPERATION_TYPE operation)
Add record operation (except delete). Operations are merged.
Definition: database.c:383
const void * Database_GetRecordFieldBlob(S_FIELD *field, U32BIT *size)
Get blob value of 'field'.
Definition: database.c:575
void Database_SetRecordFieldText(S_FIELD *field, const unsigned char *value, U32BIT size)
Set text value of 'field'.
Definition: database.c:541
S_RECORD * Database_GetRecordParent(S_RECORD *record)
Get parent of 'record'.
Definition: database.c:424
Definition: database.h:63
U32BIT Database_GetRecordFieldUInt(S_FIELD *field)
Get uint value of 'field'.
Definition: database.c:476
Definition: stbllist.h:38
S_RECORD * Database_FindRecord(const S_TABLE *table, sqlite3_int64 id)
Find record in 'table' with given 'id'.
Definition: database.c:222