SQLite ne comprends pas `TRUNCATE TABLE xxx`

Description du bug / Comment le reproduire

  1. Le plugin codes_postaux propose de vider le contenu d’une table avant importation de données
  2. Il utilise sql_query('TRUNCATE TABLE spip_codes_postaux');
  3. SQLite n’est pas content.
SQLSTATE[HY000]: General error: 1 near "truncate": syntax error in /var/www/html/ecrire/src/Sql/Sqlite/Requeteur.php line 110 - truncate table spip_codes_postaux

Erreur HY000 / 1 de sqlite3: near "truncate": syntax error in /var/www/html/plugins/zone/codes_postaux/formulaires/importer_codes_postaux.php L110 [sql_query(),codes_postaux_import(),formulaires_importer_codes_postaux_traiter_dist(),traiter_formulaires_dynamiques()] truncate table spip_codes_postaux

Comportement attendu / Comportement obtenu

Permettre à SQLite de comprendre l’instruction ?

Piste de résolution

  • Remplacer TRUNCATE TABLE xxx par DELETE FROM xxx pour SQLite
  • Ou Avoir une instruction sql_truncate adaptée.

Informations techniques

  • Version de SPIP : 4.4, 5.0-dev
  • Version de PHP : 8.4.5
  • Base de données (si pertinent) : Sqlite 3.43