Ticket #2196 (closed defect: fixed)
Mise a jour manuelle de dc 2.10.1 impossible avec une base PostgreSQL
Reported by: | Gvx | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | 2.10.2 |
Component: | module:core | Version: | 2.10.1 |
Severity: | normal | Keywords: | |
Cc: |
Description
Bonjour,
La mise jour manuelle bloque sur l'ajout des champs csp.
L' échappement de l'apostrophe par [\'] dans le fichier update.php génère une erreur de syntaxe SQL.
Après quelques recherches sur le net, il semble être préconisé le doublement des apostrophes.
Cela serait également fonctionnel avec les base mysql. (a vérifier)
J'ai testé sur une base PostgreSQL en remplacant les [\'] par deux apostrophes, et cela permet de faire la mise a jour
Change History
comment:2 Changed 9 years ago by franck
Cela dit je pense que je n'avais pas du tout besoin d'échapper les single quotes.
Edit : en fait si, il faut doubler les quotes sinon on les perd dans la requête SQL. À tester…
comment:3 Changed 9 years ago by franck
Et pour finir je pense que tu fais référence au fichier inc/admin/upgrade.php plutôt qu'update.php, non ?
comment:4 follow-up: ↓ 5 Changed 9 years ago by Gvx
En fait non je n'ai pas precisé il s'agit du fichier inc/dbschema/upgrade.php
Edit : Lignes 583, 585, 587, 589
comment:5 in reply to: ↑ 4 Changed 9 years ago by franck
- Milestone changed from A definir to 2.11
Replying to Gvx:
En fait non je n'ai pas precisé il s'agit du fichier inc/dbschema/upgrade.php
Exact, faut que j'aille me coucher :-)
Je commite un fix…
comment:6 Changed 9 years ago by franck <carnet.franck.paul@…>
- Status changed from new to closed
- Resolution set to fixed
(In [d1cf0dda13c9]) Double single quote rather than escape them → prevents error for PostgreSQL update, fixes #2196
Ok je ferai un test MySQL demain.