Thread: BUG #4843: non standard use string literal warning in RAISE WARNING
The following bug has been logged online: Bug reference: 4843 Logged by: Regina Email address: lr@pcorp.us PostgreSQL version: 8.4beta2 Operating system: Windows Description: non standard use string literal warning in RAISE WARNING Details: I'm not sure if this is a bug or expected behavior. But in a new PostGIS function we are writing, we are getting a WARNING: nonstandard use of \' in a string literal HINT: Use to write quotes in strings, or use the escape string syntax (E'...'). With sections of the code that look like RAISE WARNING 'Not inserting \'%\' in \'%.%\' into geometry_columns: could not determine ndims', quote_ident(gcs.attname), quote_ident(gcs.nspname), quote_ident(gcs.relname); The same function on 8.3.7 does not do this. I verified I have the escape_string_warning switch enabled on both installs. Details of the issue can be found here http://trac.osgeo.org/postgis/ticket/190#comment:4
"Regina" <lr@pcorp.us> writes: > I'm not sure if this is a bug or expected behavior. But in a new PostGIS > function we are writing, we are getting a > WARNING: nonstandard use of \' in a string literal HINT: Use to write > quotes in strings, or use the escape string syntax (E'...'). > With sections of the code that look like > RAISE WARNING 'Not inserting \'%\' in \'%.%\' into geometry_columns: could > not determine ndims', quote_ident(gcs.attname), quote_ident(gcs.nspname), > quote_ident(gcs.relname); > The same function on 8.3.7 does not do this. This is an intended change: RAISE format strings are now processed the same as any other string literal. Personally I'd suggest using '' here rather than \' --- more standard, more future-proof, etc. (Hmm, there seems to be nothing about it in the release notes ... not sure how we overlooked that.) regards, tom lane