Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
lektor
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Kubat
lektor
Validations
9901d2eb
Vérifiée
Valider
9901d2eb
rédigé
2 mai 2021
par
Kubat
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
CACHE: Cache only non-cached karas with the caching thread
parent
2704e311
Branches
Branches contenant la validation
Étiquettes
Étiquettes contenant la validation
1 requête de fusion
!157
Caching for karas & refactor & others
Modifications
3
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
3 fichiers modifiés
inc/lektor/database.h
+1
-1
1 ajout, 1 suppression
inc/lektor/database.h
src/base/launch.c
+8
-2
8 ajouts, 2 suppressions
src/base/launch.c
src/database/find.c
+3
-3
3 ajouts, 3 suppressions
src/database/find.c
avec
12 ajouts
et
6 suppressions
inc/lektor/database.h
+
1
−
1
Voir le fichier @
9901d2eb
...
@@ -65,7 +65,7 @@ bool database_get_kara_mtime_path (volatile sqlite3 *db, char filepath[PATH_MA
...
@@ -65,7 +65,7 @@ bool database_get_kara_mtime_path (volatile sqlite3 *db, char filepath[PATH_MA
bool
database_get_kara_duration_path
(
volatile
sqlite3
*
db
,
char
filepath
[
PATH_MAX
],
uint64_t
*
duration
);
bool
database_get_kara_duration_path
(
volatile
sqlite3
*
db
,
char
filepath
[
PATH_MAX
],
uint64_t
*
duration
);
void
database_cache_kara
(
volatile
sqlite3
*
db
,
int
id
);
void
database_cache_kara
(
volatile
sqlite3
*
db
,
int
id
);
void
database_get_all_kara
(
volatile
sqlite3
*
db
,
int
**
ret_ids
,
size_t
*
ret_ids_len
);
void
database_get_all_
non_cached_
kara
(
volatile
sqlite3
*
db
,
int
**
ret_ids
,
size_t
*
ret_ids_len
);
/* Update the database. */
/* Update the database. */
bool
database_update
(
volatile
sqlite3
*
db
,
const
char
*
kara_dir
,
int
check_timestamp
);
bool
database_update
(
volatile
sqlite3
*
db
,
const
char
*
kara_dir
,
int
check_timestamp
);
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
src/base/launch.c
+
8
−
2
Voir le fichier @
9901d2eb
...
@@ -180,14 +180,20 @@ ___caching_walker(void *args)
...
@@ -180,14 +180,20 @@ ___caching_walker(void *args)
size_t
ids_count
=
0
;
size_t
ids_count
=
0
;
int
*
ids
=
NULL
;
int
*
ids
=
NULL
;
database_get_all_kara
(
db
,
&
ids
,
&
ids_count
);
database_get_all_
non_cached_
kara
(
db
,
&
ids
,
&
ids_count
);
if
(
ids
==
NULL
||
ids_count
==
0
)
{
if
(
ids
==
NULL
||
ids_count
==
0
)
{
LOG_ERROR
(
"CACHING"
,
"No kara present in the database, exit caching thread"
);
LOG_ERROR
(
"CACHING"
,
"No kara present in the database, exit caching thread"
);
return
NULL
;
return
NULL
;
}
}
free
(
ids
);
LOG_INFO
(
"CACHE"
,
"Begin to cache %ld karas"
,
ids_count
);
for
(
size_t
index
=
0
;
index
<
ids_count
;
++
index
)
{
database_cache_kara
(
db
,
ids
[
index
]);
}
LOG_INFO
(
"CACHE"
,
"Finished caching %ld karas"
,
ids_count
);
free
(
ids
);
return
NULL
;
return
NULL
;
}
}
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
src/database/find.c
+
3
−
3
Voir le fichier @
9901d2eb
...
@@ -399,10 +399,10 @@ error:
...
@@ -399,10 +399,10 @@ error:
}
}
void
void
database_get_all_kara
(
volatile
sqlite3
*
db
,
int
**
ret_ids
,
size_t
*
ret_ids_len
)
database_get_all_
non_cached_
kara
(
volatile
sqlite3
*
db
,
int
**
ret_ids
,
size_t
*
ret_ids_len
)
{
{
static
const
char
*
SQL_DATA
=
"SELECT id FROM kara;"
;
static
const
char
*
SQL_DATA
=
"SELECT id FROM kara
WHERE cached_mtime = 0 OR cached_duration = 0
;"
;
static
const
char
*
SQL_COUNT
=
"SELECT count(id) FROM kara;"
;
static
const
char
*
SQL_COUNT
=
"SELECT count(id) FROM kara
WHERE cached_mtime = 0 OR cached_duration = 0
;"
;
sqlite3_stmt
*
stmt
=
NULL
;
sqlite3_stmt
*
stmt
=
NULL
;
size_t
index
=
0
;
size_t
index
=
0
;
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter