Thread

  1. psql eating backslashes

    Jan Wieck <janwieck@t-online.de> — 2000-07-17T17:01:23Z

    Hi,
    
        seems  to me that psql thinks to know a little too much about
        quoting. I'm not able to qoute a backslash at the  end  of  a
        line:
    
            xxx=# select 'a\\b\\
            xxx'# c';
             ?column?
            ----------
             a\b
            c
            (1 row)
    
        There  is  a  newline  following  directly  after  b\\,  so I
        expected a "a\b\<NL>c" response - what  the  above  obviously
        isn't.
    
    
    Jan
    
    --
    
    #======================================================================#
    # It's easier to get forgiveness for being wrong than for being right. #
    # Let's break this rule - forgive me.                                  #
    #================================================== JanWieck@Yahoo.com #
    
    
    
    
  2. Re: psql eating backslashes

    Peter Eisentraut <peter_e@gmx.net> — 2000-07-17T18:30:38Z

    Jan Wieck writes:
    
    >     seems  to me that psql thinks to know a little too much about
    >     quoting. I'm not able to qoute a backslash at the  end  of  a
    >     line:
    > 
    >         xxx=# select 'a\\b\\
    >         xxx'# c';
    >          ?column?
    >         ----------
    >          a\b
    >         c
    >         (1 row)
    
    I committed a fix that should give you better results.
    
    peter=# select 'abc\\
    peter'# def';
     ?column?
    ----------
     abc\
    def
    (1 row)
    
    But what should
    
    peter=# select 'abc\
    peter'# def';
    
    do? This doesn't seem right:
    
     ?column?
    ----------
     abc
    def
    (1 row)
    
    Should the newline be stripped?
    
    
    -- 
    Peter Eisentraut                  Sernanders väg 10:115
    peter_e@gmx.net                   75262 Uppsala
    http://yi.org/peter-e/            Sweden
    
    
    
  3. Re: psql eating backslashes

    Tom Lane <tgl@sss.pgh.pa.us> — 2000-07-17T21:42:12Z

    Peter Eisentraut <peter_e@gmx.net> writes:
    > But what should
    
    > peter=# select 'abc\
    > peter'# def';
    
    > do? This doesn't seem right:
    
    >  ?column?
    > ----------
    >  abc
    > def
    > (1 row)
    
    Looks fine to me.
    
    > Should the newline be stripped?
    
    I would think not.  That would mean that backslash-newline gives you
    something *other* than a literal newline, which is an inconsistency
    we don't need since we don't treat newline as special.
    
    Also, it would be changing the old (pre-7.0) behavior, which would
    doubtless break someone's code somewhere.  In the absence of a
    compelling reason to change the behavior, I think we have to leave it
    alone.
    
    			regards, tom lane