Optimisation des requete sqlite afin d'eviter les database is locked
This commit is contained in:
@@ -61,7 +61,8 @@ do_add() {
|
||||
# Arrêt du script si "code" vaut 1, en affichant le message "explain"
|
||||
if [ "$code" = "2" ]; then
|
||||
echo -e "$ROUGE""$explain""$NORMAL"
|
||||
sqlite3 "$DB_FILE" "INSERT INTO release (nom, status) VALUES ('${release_name}', 3);"
|
||||
sqlite3 "$DB_FILE" "BEGIN IMMEDIATE; INSERT INTO release (nom, status) VALUES ('${release_name}', 3); COMMIT;"
|
||||
|
||||
exit 1
|
||||
else
|
||||
echo -e "$VERT""DEPLACEMENT DE LA RELEASE DANS LE REPERTOIRE DE TRAVAIL""$NORMAL"
|
||||
@@ -71,7 +72,7 @@ do_add() {
|
||||
mediainfo --output=JSON --full "${DOSSIER_GLOBAL}${release_name}" > "${DOSSIER_NFO}${release_without_ext}.json"
|
||||
|
||||
echo -e "$CYAN""AJOUT DE LA RELEASE DANS LA DATABASE""$NORMAL"
|
||||
sqlite3 "$DB_FILE" "INSERT INTO release (nom, status) VALUES ('${release_name}', 0);"
|
||||
sqlite3 "$DB_FILE" "BEGIN IMMEDIATE; INSERT INTO release (nom, status) VALUES ('${release_name}', 0); COMMIT;"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -79,7 +80,7 @@ do_status() {
|
||||
checkdb
|
||||
|
||||
# Exécuter la requête SQLite et récupérer les résultats dans une variable
|
||||
results=$(sqlite3 "$DB_FILE" "SELECT nom, status, id FROM (SELECT * FROM release ORDER BY id DESC LIMIT 500) ORDER BY id ASC;")
|
||||
results=$(sqlite3 "$DB_FILE" "BEGIN IMMEDIATE; SELECT nom, status, id FROM (SELECT * FROM release ORDER BY id DESC LIMIT 500) ORDER BY id ASC; COMMIT;")
|
||||
|
||||
# Trouver la longueur maximale du champ name
|
||||
max_length=$(echo "$results" | awk -F'|' '{ if (length($1) > max) max = length($1) } END { print max }')
|
||||
|
||||
Reference in New Issue
Block a user