nonstandard use of

Started by Peckham, Martinover 18 years ago2 messagesgeneral
Jump to latest
#1Peckham, Martin
martin.peckham@guidancesoftware.com

I recently installed the latest non-beta version 8.2 of postgresql.

I get the following warning and hint in the server status GUI:

WARNING: nonstandard use of \\ in a string literal at characters 64

HINT: Use the excape string syntax for backslashes, e.g, E'\\'.

The "raw" string I want to write is:

[\x09-\x0A\x0D\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]MI[\x09-\x0A\x0D\x20-
\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]

After escaping, I write: _ 64th

/

[\\x09-\\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]MI[\\x09-\
\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]

Assuming the count starts at 0, the character at position 64 is the [
character.

I've read an earlier post that tells of how to SUPRESS the warning. I
want to eliminate the warning.

TIA

Marty Peckham

Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited. If you have received this
communication in error, please notify us immediately by replying to the
message and deleting it from your computer. Thank you.

#2Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Peckham, Martin (#1)
Re: nonstandard use of

Martin Peckham wrote:

I recently installed the latest non-beta version 8.2 of postgresql.

I get the following warning and hint in the server status GUI:

WARNING: nonstandard use of \\ in a string literal at characters 64
HINT: Use the excape string syntax for backslashes, e.g, E'\\'.

The "raw" string I want to write is:

[\x09-\x0A\x0D\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]MI[\x09-\x0
A\x0D\x20-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]

After escaping, I write:

[\\x09-\\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]
MI[\\x09-\\x0A\\x0D\\x20-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]

Assuming the count starts at 0, the character at position 64
is the [ character.

I've read an earlier post that tells of how to SUPRESS the
warning. I want to eliminate the warning.

I reckon that "64" refers to the position of the string in the
SQL statement, i.e. the string starts at that position in the statement.
Is that possible?

To get rid of the warning, you can either:

- *not* double the backslashes and set standard_conforming_strings
to "on".
- prepend each string literal with an E as the warning suggests.
- set escape_string_warning to "off".

The first solution is the best, the last the worst.

Yours,
Laurenz Albe