Changes regarding standard_conforming_strings in postgres 6.8.0
authorRuss Tyndall <russ@acceleration.net>
Sun, 8 Apr 2018 15:44:51 +0000 (11:44 -0400)
committerRuss Tyndall <russ@acceleration.net>
Sun, 8 Apr 2018 15:49:54 +0000 (11:49 -0400)
commit442966fe451dfe078d1fad7e13564377e1f37809
tree09610fc88dd2a34165ade6040e3ce4315a58370c
parent3ab5ff5c8b7f6a8fc37f5870b9518a0862f2e611
Changes regarding standard_conforming_strings in postgres

I found that my database recently started generating extra backslashes
on round-trips to the database.

The reason seems to be a change to standards_conforming_strings variable in postgresl
Beginning in PostgreSQL 9.1, the default is on (prior releases defaulted to off)

https://stackoverflow.com/a/3049139

 * I created a new protocol function (database-escape-backslashes database)
 * I changed the the generic mysql and postgres databases to return T
 * I made the postgresql-socket3 backend check for standards_conforming_string
   which is exposed in the underlying cl-postgres connection
 * It seems likely that postgresql-socket3 could always return NIL, as
   cl-postgres would probably handle this escaping anyway

This replaced some special case code in (database-output-sql (string
database))
ChangeLog
db-mysql/mysql-sql.lisp
db-postgresql-socket3/sql.lisp
notes/postgresql-standards-conforming-strings.txt [new file with mode: 0644]
sql/db-interface.lisp
sql/expressions.lisp
sql/fdml.lisp
sql/generic-postgresql.lisp