• Tom Lane's avatar
    Avoid premature de-doubling of quote marks in ECPG strings. · 3dfb1942
    Tom Lane authored
    If you write the literal 'abc''def' in an EXEC SQL command, that will
    come out the other end as 'abc'def', triggering a syntax error in the
    backend.  Likewise, "abc""def" is reduced to "abc"def" which is wrong
    syntax for a quoted identifier.
    
    The cause is that the lexer thinks it should emit just one quote
    mark, whereas what it really should do is keep the string as-is.
    
    Add some docs and test cases, too.
    
    Although this seems clearly a bug, I fear users wouldn't appreciate
    changing it in minor releases.  Some may well be working around it
    by applying an extra doubling of affected quotes, as for example
    sql/dyntest.pgc has been doing.
    
    Per investigation of a report from 1250kv, although this isn't
    exactly what he/she was on about.
    
    Discussion: https://postgr.es/m/673825.1603223178@sss.pgh.pa.us
    3dfb1942
preproc-strings.stderr 2.42 KB