diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-09-25 22:20:25 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-09-25 22:20:25 (GMT) |
commit | 6ed1e4110eb19b78f76154aa095a74414531f04c (patch) | |
tree | d1c3562cb6e180baff3c388a3bb3574b0a02213b /src/analysis/db/items | |
parent | 3dc843b3f7991dcd738a30821ff56c7fe13f1094 (diff) |
Prepared history for database items.
Diffstat (limited to 'src/analysis/db/items')
-rw-r--r-- | src/analysis/db/items/bookmark.c | 39 | ||||
-rw-r--r-- | src/analysis/db/items/comment.c | 78 | ||||
-rw-r--r-- | src/analysis/db/items/move.c | 40 | ||||
-rw-r--r-- | src/analysis/db/items/switcher.c | 53 |
4 files changed, 17 insertions, 193 deletions
diff --git a/src/analysis/db/items/bookmark.c b/src/analysis/db/items/bookmark.c index 3d66f6b..c1b0fec 100644 --- a/src/analysis/db/items/bookmark.c +++ b/src/analysis/db/items/bookmark.c @@ -141,9 +141,6 @@ static void g_bookmark_collection_finalize(GBookmarkCollection *); /* Crée la table des signets dans une base de données. */ static bool g_bookmark_collection_create_db_table(const GBookmarkCollection *, sqlite3 *); -/* Décrit les colonnes utiles à un chargement de données. */ -static bool g_bookmark_collection_setup_load(GBookmarkCollection *, bound_value **, size_t *); - /* Détermine si un élément est déjà présent ou non. */ static GDbItem *g_bookmark_collection_has_key(GBookmarkCollection *, va_list); @@ -796,7 +793,6 @@ static void g_bookmark_collection_class_init(GBookmarkCollectionClass *klass) collec = G_DB_COLLECTION_CLASS(klass); collec->create_table = (collec_create_db_table_fc)g_bookmark_collection_create_db_table; - collec->setup_load = (collec_setup_load_fc)g_bookmark_collection_setup_load; collec->has_key = (collec_has_key_fc)g_bookmark_collection_has_key; } @@ -934,39 +930,6 @@ static bool g_bookmark_collection_create_db_table(const GBookmarkCollection *col /****************************************************************************** * * * Paramètres : collec = ensemble d'éléments à consulter. * -* values = tableau d'éléments à compléter. [OUT] * -* count = nombre de descriptions renseignées. [OUT] * -* * -* Description : Décrit les colonnes utiles à un chargement de données. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -static bool g_bookmark_collection_setup_load(GBookmarkCollection *collec, bound_value **values, size_t *count) -{ - bool status; /* Bilan d'une préparation */ - - status = G_DB_COLLECTION_CLASS(g_bookmark_collection_parent_class)->setup_load(G_DB_COLLECTION(collec), \ - values, count); - if (!status) return false; - - if (!store_vmpa(NULL, NULL, values, count)) - return false; - - if (!store_rle_string(NULL, "comment", values, count)) - return false; - - return true; - -} - - -/****************************************************************************** -* * -* Paramètres : collec = ensemble d'éléments à consulter. * * ap = clef identifiant de manière unique un élément. * * * * Description : Détermine si un élément est déjà présent ou non. * @@ -989,6 +952,7 @@ static GDbItem *g_bookmark_collection_has_key(GBookmarkCollection *collec, va_li ref = va_arg(ap, vmpa2t *); +#if 0 items = g_db_collection_get_items(G_DB_COLLECTION(collec)); for (iter = g_list_first(items); iter != NULL && result == NULL; iter = g_list_next(iter)) @@ -1005,6 +969,7 @@ static GDbItem *g_bookmark_collection_has_key(GBookmarkCollection *collec, va_li result = G_DB_ITEM(bm); } +#endif return result; diff --git a/src/analysis/db/items/comment.c b/src/analysis/db/items/comment.c index a987464..a231749 100644 --- a/src/analysis/db/items/comment.c +++ b/src/analysis/db/items/comment.c @@ -183,9 +183,6 @@ static void g_comment_collection_finalize(GCommentCollection *); /* Crée la table des commentaires dans une base de données. */ static bool g_comment_collection_create_db_table(const GCommentCollection *, sqlite3 *); -/* Décrit les colonnes utiles à un chargement de données. */ -static bool g_comment_collection_setup_load(GCommentCollection *, bound_value **, size_t *); - /* Détermine si un élément est déjà présent ou non. */ static GDbItem *g_comment_collection_has_key(GCommentCollection *, va_list); @@ -995,7 +992,7 @@ static bool g_db_comment_load(GDbComment *comment, const bound_value *values, si if (result) { - value = find_bound_value(values, count, "flags"); + value = find_bound_value(values, count, "lflags"); result = (value != NULL && value->type == SQLITE_INTEGER); if (result) @@ -1072,16 +1069,20 @@ static bool g_db_comment_store(GDbComment *comment, bound_value **values, size_t value = &(*values)[*count - 1]; - value->cname = "flags"; + value->cname = "lflags"; value->built_name = false; value->type = SQLITE_INTEGER; - value->integer = comment->flags; - value->delete = NULL; value->has_value = (comment != NULL); if (value->has_value) { + value->integer = comment->flags; + value->delete = NULL; + } + + if (value->has_value) + { init_dynamic_rle_string(&text, g_db_comment_get_text(comment)); status = store_rle_string(&text, "text", values, count); exit_rle_string(&text); @@ -1514,7 +1515,6 @@ static void g_comment_collection_class_init(GCommentCollectionClass *klass) collec = G_DB_COLLECTION_CLASS(klass); collec->create_table = (collec_create_db_table_fc)g_comment_collection_create_db_table; - collec->setup_load = (collec_setup_load_fc)g_comment_collection_setup_load; collec->has_key = (collec_has_key_fc)g_comment_collection_has_key; } @@ -1626,7 +1626,7 @@ static bool g_comment_collection_create_db_table(const GCommentCollection *colle sql = "CREATE TABLE Comments (" \ SQLITE_DB_ITEM_CREATE ", " \ "%s, " \ - "flags INTEGER, " \ + "lflags INTEGER, " \ SQLITE_RLESTR_CREATE("text") ", " \ "inlined INTEGER, " \ "repeatable INTEGER" \ @@ -1655,64 +1655,6 @@ static bool g_comment_collection_create_db_table(const GCommentCollection *colle /****************************************************************************** * * * Paramètres : collec = ensemble d'éléments à consulter. * -* values = tableau d'éléments à compléter. [OUT] * -* count = nombre de descriptions renseignées. [OUT] * -* * -* Description : Décrit les colonnes utiles à un chargement de données. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -static bool g_comment_collection_setup_load(GCommentCollection *collec, bound_value **values, size_t *count) -{ - bool status; /* Bilan d'une préparation */ - bound_value *value; /* Valeur à éditer / définir */ - - status = G_DB_COLLECTION_CLASS(g_comment_collection_parent_class)->setup_load(G_DB_COLLECTION(collec), \ - values, count); - if (!status) return false; - - if (!store_vmpa(NULL, NULL, values, count)) - return false; - - *count += 1; - *values = realloc(*values, *count * sizeof(bound_value)); - - value = &(*values)[*count - 1]; - - value->cname = "flags"; - value->built_name = false; - value->type = SQLITE_INTEGER; - - if (!store_rle_string(NULL, "text", values, count)) - return false; - - *count += 2; - *values = realloc(*values, *count * sizeof(bound_value)); - - value = &(*values)[*count - 2]; - - value->cname = "inlined"; - value->built_name = false; - value->type = SQLITE_BOOLEAN; - - value = &(*values)[*count - 1]; - - value->cname = "repeatable"; - value->built_name = false; - value->type = SQLITE_BOOLEAN; - - return true; - -} - - -/****************************************************************************** -* * -* Paramètres : collec = ensemble d'éléments à consulter. * * ap = clef identifiant de manière unique un élément. * * * * Description : Détermine si un élément est déjà présent ou non. * @@ -1735,6 +1677,7 @@ static GDbItem *g_comment_collection_has_key(GCommentCollection *collec, va_list ref = va_arg(ap, vmpa2t *); +#if 0 items = g_db_collection_get_items(G_DB_COLLECTION(collec)); for (iter = g_list_first(items); iter != NULL && result == NULL; iter = g_list_next(iter)) @@ -1751,6 +1694,7 @@ static GDbItem *g_comment_collection_has_key(GCommentCollection *collec, va_list result = G_DB_ITEM(bm); } +#endif return result; diff --git a/src/analysis/db/items/move.c b/src/analysis/db/items/move.c index a5d2773..afc3331 100644 --- a/src/analysis/db/items/move.c +++ b/src/analysis/db/items/move.c @@ -136,9 +136,6 @@ static void g_move_collection_finalize(GMoveCollection *); /* Crée la table des basculements dans une base de données. */ static bool g_move_collection_create_db_table(const GMoveCollection *, sqlite3 *); -/* Décrit les colonnes utiles à un chargement de données. */ -static bool g_move_collection_setup_load(GMoveCollection *, bound_value **, size_t *); - /* Détermine si un élément est déjà présent ou non. */ static GDbItem *g_move_collection_has_key(GMoveCollection *, va_list); @@ -638,7 +635,6 @@ static void g_move_collection_class_init(GMoveCollectionClass *klass) collec = G_DB_COLLECTION_CLASS(klass); collec->create_table = (collec_create_db_table_fc)g_move_collection_create_db_table; - collec->setup_load = (collec_setup_load_fc)g_move_collection_setup_load; collec->has_key = (collec_has_key_fc)g_move_collection_has_key; } @@ -779,40 +775,6 @@ static bool g_move_collection_create_db_table(const GMoveCollection *collec, sql /****************************************************************************** * * * Paramètres : collec = ensemble d'éléments à consulter. * -* values = tableau d'éléments à compléter. [OUT] * -* count = nombre de descriptions renseignées. [OUT] * -* * -* Description : Décrit les colonnes utiles à un chargement de données. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -static bool g_move_collection_setup_load(GMoveCollection *collec, bound_value **values, size_t *count) -{ - bool status; /* Bilan d'une préparation */ - - status = G_DB_COLLECTION_CLASS(g_move_collection_parent_class)->setup_load(G_DB_COLLECTION(collec), \ - values, count); - if (!status) return false; - - if (!g_binary_cursor_store(NULL, "src", values, count)) - return false; - - if (!g_binary_cursor_store(NULL, "dest", values, count)) - return false; - - return true; - - -} - - -/****************************************************************************** -* * -* Paramètres : collec = ensemble d'éléments à consulter. * * ap = clef identifiant de manière unique un élément. * * * * Description : Détermine si un élément est déjà présent ou non. * @@ -835,6 +797,7 @@ static GDbItem *g_move_collection_has_key(GMoveCollection *collec, va_list ap) ref = va_arg(ap, const GLineCursor *); +#if 0 items = g_db_collection_get_items(G_DB_COLLECTION(collec)); for (iter = g_list_first(items); iter != NULL && result == NULL; iter = g_list_next(iter)) @@ -851,6 +814,7 @@ static GDbItem *g_move_collection_has_key(GMoveCollection *collec, va_list ap) result = G_DB_ITEM(bm); } +#endif return result; diff --git a/src/analysis/db/items/switcher.c b/src/analysis/db/items/switcher.c index 043effd..94d4940 100644 --- a/src/analysis/db/items/switcher.c +++ b/src/analysis/db/items/switcher.c @@ -136,9 +136,6 @@ static void g_switcher_collection_finalize(GSwitcherCollection *); /* Crée la table des basculements dans une base de données. */ static bool g_switcher_collection_create_db_table(const GSwitcherCollection *, sqlite3 *); -/* Décrit les colonnes utiles à un chargement de données. */ -static bool g_switcher_collection_setup_load(GSwitcherCollection *, bound_value **, size_t *); - /* Détermine si un élément est déjà présent ou non. */ static GDbItem *g_switcher_collection_has_key(GSwitcherCollection *, va_list); @@ -790,7 +787,6 @@ static void g_switcher_collection_class_init(GSwitcherCollectionClass *klass) collec = G_DB_COLLECTION_CLASS(klass); collec->create_table = (collec_create_db_table_fc)g_switcher_collection_create_db_table; - collec->setup_load = (collec_setup_load_fc)g_switcher_collection_setup_load; collec->has_key = (collec_has_key_fc)g_switcher_collection_has_key; } @@ -929,53 +925,6 @@ static bool g_switcher_collection_create_db_table(const GSwitcherCollection *col /****************************************************************************** * * * Paramètres : collec = ensemble d'éléments à consulter. * -* values = tableau d'éléments à compléter. [OUT] * -* count = nombre de descriptions renseignées. [OUT] * -* * -* Description : Décrit les colonnes utiles à un chargement de données. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -static bool g_switcher_collection_setup_load(GSwitcherCollection *collec, bound_value **values, size_t *count) -{ - bool status; /* Bilan d'une préparation */ - bound_value *value; /* Valeur à éditer / définir */ - - status = G_DB_COLLECTION_CLASS(g_switcher_collection_parent_class)->setup_load(G_DB_COLLECTION(collec), \ - values, count); - if (!status) return false; - - if (!store_vmpa(NULL, NULL, values, count)) - return false; - - *count += 2; - *values = realloc(*values, *count * sizeof(bound_value)); - - value = &(*values)[*count - 2]; - - value->cname = "op_index"; - value->built_name = false; - value->type = SQLITE_INTEGER; - - value = &(*values)[*count - 1]; - - value->cname = "type"; - value->built_name = false; - value->type = SQLITE_INTEGER; - - return true; - - -} - - -/****************************************************************************** -* * -* Paramètres : collec = ensemble d'éléments à consulter. * * ap = clef identifiant de manière unique un élément. * * * * Description : Détermine si un élément est déjà présent ou non. * @@ -998,6 +947,7 @@ static GDbItem *g_switcher_collection_has_key(GSwitcherCollection *collec, va_li ref = va_arg(ap, vmpa2t *); +#if 0 items = g_db_collection_get_items(G_DB_COLLECTION(collec)); for (iter = g_list_first(items); iter != NULL && result == NULL; iter = g_list_next(iter)) @@ -1014,6 +964,7 @@ static GDbItem *g_switcher_collection_has_key(GSwitcherCollection *collec, va_li result = G_DB_ITEM(bm); } +#endif return result; |