diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-05-08 09:28:58 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-05-08 09:28:58 (GMT) |
commit | 86ba53836168bcc591f532f2419fa290de601572 (patch) | |
tree | 91c96614d6f7e3fd75800a52c0166c91c7f8ef31 /src/analysis/db/misc/timestamp.c | |
parent | 28e53c2498903090182ebeb128347fcd92896cd9 (diff) |
Updated the core functions dealing with SQLite databases.
Diffstat (limited to 'src/analysis/db/misc/timestamp.c')
-rw-r--r-- | src/analysis/db/misc/timestamp.c | 69 |
1 files changed, 21 insertions, 48 deletions
diff --git a/src/analysis/db/misc/timestamp.c b/src/analysis/db/misc/timestamp.c index 5302c60..1d2fcd9 100644 --- a/src/analysis/db/misc/timestamp.c +++ b/src/analysis/db/misc/timestamp.c @@ -166,30 +166,28 @@ bool pack_timestamp(const timestamp_t *timestamp, packed_buffer *pbuf) /****************************************************************************** * * -* Paramètres : timestamp = horodatage aux informations inutiles. * +* Paramètres : timestamp = horodatage à compléter. * * name = désignation personnalisée du champ dans la BD. * -* values = couples de champs et de valeurs à lier. [OUT] * -* count = nombre de ces couples. [OUT] * +* values = tableau d'éléments à consulter. * +* count = nombre de descriptions renseignées. * * * -* Description : Constitue les champs destinés à une insertion / modification.* +* Description : Charge les valeurs utiles pour un horodatage. * * * -* Retour : Bilan de l'opération : succès ou non. * +* Retour : Bilan de l'opération. * * * * Remarques : - * * * ******************************************************************************/ -bool prepare_db_statement_for_timestamp(const timestamp_t *timestamp, const char *name, bound_value **values, size_t *count) +bool load_timestamp(timestamp_t *timestamp, const char *name, const bound_value *values, size_t count) { - bound_value *value; /* Valeur à éditer / définir */ + const bound_value *value; /* Valeur à intégrer */ - *values = (bound_value *)realloc(*values, ++(*count) * sizeof(bound_value)); - value = &(*values)[*count - 1]; + value = find_bound_value(values, count, name); + if (value == NULL) return false; + if (value->type != SQLITE_INT64) return false; - value->cname = name; - value->built_name = false; - value->type = SQLITE_INT64; - value->integer64 = *timestamp; + *timestamp = value->integer64; return true; @@ -200,58 +198,33 @@ bool prepare_db_statement_for_timestamp(const timestamp_t *timestamp, const char * * * Paramètres : timestamp = horodatage aux informations inutiles. * * name = désignation personnalisée du champ dans la BD. * -* values = tableau d'éléments à compléter. [OUT] * -* count = nombre de descriptions renseignées. [OUT] * +* values = couples de champs et de valeurs à lier. [OUT] * +* count = nombre de ces couples. [OUT] * * * -* Description : Décrit les colonnes utiles à un horodatage. * +* Description : Constitue les champs destinés à une insertion / modification.* * * -* Retour : Bilan de l'opération. * +* Retour : Bilan de l'opération : succès ou non. * * * * Remarques : - * * * ******************************************************************************/ -bool setup_load_of_timestamp(const timestamp_t *timestamp, const char *name, bound_value **values, size_t *count) +bool store_timestamp(const timestamp_t *timestamp, const char *name, bound_value **values, size_t *count) { bound_value *value; /* Valeur à éditer / définir */ - *values = (bound_value *)realloc(*values, ++(*count) * sizeof(bound_value)); + *values = realloc(*values, ++(*count) * sizeof(bound_value)); + value = &(*values)[*count - 1]; value->cname = name; value->built_name = false; value->type = SQLITE_INT64; - return true; - - -} - - -/****************************************************************************** -* * -* Paramètres : timestamp = horodatage à compléter. * -* name = désignation personnalisée du champ dans la BD. * -* values = tableau d'éléments à consulter. * -* count = nombre de descriptions renseignées. * -* * -* Description : Charge les valeurs utiles pour un horodatage. * -* * -* Retour : Bilan de l'opération. * -* * -* Remarques : - * -* * -******************************************************************************/ - -bool load_timestamp(timestamp_t *timestamp, const char *name, const bound_value *values, size_t count) -{ - const bound_value *value; /* Valeur à intégrer */ - - value = find_bound_value(values, count, name); - if (value == NULL) return false; - if (value->type != SQLITE_INT64) return false; + value->has_value = (timestamp != NULL); - *timestamp = value->integer64; + if (value->has_value) + value->integer64 = *timestamp; return true; |