Re: psql: backslash fix - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: psql: backslash fix |
Date | |
Msg-id | 200203112244.g2BMiQn23931@candle.pha.pa.us Whole thread Raw |
In response to | psql: backslash fix (nconway@klamath.dyndns.org (Neil Conway)) |
Responses |
Re: psql: backslash fix
|
List | pgsql-patches |
Is this change required: &end_of_cmd); ! success = slashCmdStatus != CMD_ERROR; if ((slashCmdStatus == CMD_SEND || slashCmdStatus == CMD_NEWEDIT) && query_buf->len == 0) --- 467,473 ---- query_buf->len > 0 ? query_buf : previous_buf, &end_of_cmd); ! success = (slashCmdStatus != CMD_ERROR); I thought != was done before =, and my associativity chart shows that: Operator Associativity ----------------------------------------------- () [] -> . left to right ! ~ ++ -- - (type) * & sizeof right to left * / % left to right + - left to right << >> left to right < <= > >= left to right == != left to right & left to right ^ left to right | left to right && left to right || left to right ?: right to left = += -= etc. right to left , left to right --------------------------------------------------------------------------- Neil Conway wrote: > Hi all, > > Recently, I reported on -hackers a strange case where psql wouldn't > reset it's query buffer properly on a malformed backslash command, which > would mean that the next query wouldn't be parsed properly. For > instance: > > nconway=> select foo\\bar; > Invalid command \. Try \? for help. > nconway-> select 1; > ERROR: parser: parse error at or near "select" > > I've attached a patch which fixes this. I'm not sure if it is the > "right" way to fix it, but it resolves the situation discribed above, at > least. The new behavior is: > > nconway=> select foo\\bar; > Invalid command \. Try \? for help. > ERROR: Attribute 'foo' not found > nconway=> select 1; > ?column? > ---------- > 1 > (1 row) > > Unless anyone sees any problems, please apply. > > Cheers, > > Neil > > -- > Neil Conway <neilconway@rogers.com> > PGP Key ID: DB3C29FC [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
pgsql-patches by date: