Quali caratteri devono essere evitati per assicurarsi che PSQLException: ERRORE: errore di sintassi in tsquery non si verificherà? La documentazione non dice nulla su come sfuggire la stringa di ricerca: http://www.postgresql.org/docs/8.3/static/datatype-textsearch.htmlPSQLException: ERRORE: errore di sintassi in tsquery
risposta
Utilizzare le virgolette intorno i termini, se si desidera loro come frasi/testualmente o contengono caratteri utilizzati nella sintassi:
select to_tsquery('"hello there" | hi');
Bare tieni presente che non dovresti avere davvero personaggi pazzi nelle tue condizioni, dal momento che non stanno andando ad abbinare nulla nel tsvector.
I (non token) caratteri riconosciuti dal parser tsquery sono: \0
(nullo), (
, )
,
(spazi), |
, &
, :
, *
e !
. Tuttavia, il modo in cui il tokenize della query deve essere basato su come è stato impostato il dizionario. Ci sono molti altri caratteri che probabilmente non vorrai nella tua query, non perché causeranno un errore di sintassi ma perché significa che non stai sincronizzando correttamente la tua query.
Utilizzare la versione plainto_tsquery
se si tratta di una semplice query AND
e non si desidera gestire manualmente la query.
Si prega di definire "personaggi pazzi", quindi la mia domanda è stata risolta :-) – ideaboxer
(il mio obiettivo principale è evitare qualsiasi occorrenza di PSQLException solo perché qualcuno ha inserito caratteri pazzi) – ideaboxer
Qualsiasi carattere che non appare nel dizionario. Per un dizionario inglese direi: '[^ A-Za-z0-9] == pazzo'. –
- 1. Postgres JDBC driver: PSQLException: errore di sintassi in corrispondenza o vicino RESTITUZIONE
- 2. Oracle errore di sintassi
- 3. heredoc errore di sintassi
- 4. Errore di sintassi, imprevisto ',', in attesa di ')'
- 5. Errore di sintassi in MySQL vicino UNION?
- 6. Errore di sintassi PostgreSQL in PGAdmin
- 7. Errore di sintassi: return illegale in JavaScript
- 8. Errore di sintassi in CROSS APPLY
- 9. Errore di sintassi = ~ operatore in bash msysgit
- 10. errore C2061: errore di sintassi: identificatore
- 11. Errore di sintassi delimitatore MySQL
- 12. Errore di sintassi javascript strano
- 13. Errore di sintassi nell'espressione condizionale
- 14. Perl RegEx errore di sintassi
- 15. rotaie sottile errore di sintassi
- 16. Errore di sintassi: reindirizzamento imprevisto
- 17. Errore di sintassi installazione gunicorn
- 18. messaggio di errore sintassi mongoexport
- 19. Errore di sintassi mancante; prima *
- 20. PostgreSQL "IF" errore di sintassi
- 21. Errore di sintassi nell'assembly MIPS
- 22. JavaScript Whitespace Errore di sintassi
- 23. mappa Groovy errore di sintassi
- 24. Errore di sintassi: token imprevisto ""
- 25. Evoluzioni PostgreSQL: "PSQLException: FATAL: mi dispiace, troppi clienti già"
- 26. Istruzione di stampa Python "Errore di sintassi: sintassi non valida"
- 27. ERRORE: errore di sintassi in corrispondenza o vicino a "utente"
- 28. Errore nella sintassi SQLite
- 29. sintassi rubino misterioso errore
- 30. file di Rubino: "ruby_executable_hooks" Errore di sintassi
quindi, dov'è il quer? –
Ci sono molte domande. In realtà sono segrete e non ho bisogno di più di una risposta alla mia domanda: come sfuggire correttamente la stringa di query? – ideaboxer