Re: PostgreSQL Developer Best Practices
От | Andy Colson |
---|---|
Тема | Re: PostgreSQL Developer Best Practices |
Дата | |
Msg-id | 55D8D237.6050909@squeakycode.net обсуждение исходный текст |
Ответ на | Re: PostgreSQL Developer Best Practices (Melvin Davidson <melvin6925@gmail.com>) |
Ответы |
Re: PostgreSQL Developer Best Practices
|
Список | pgsql-general |
> On Sat, Aug 22, 2015 at 1:16 PM, Tom Lane <tgl@sss.pgh.pa.us <mailto:tgl@sss.pgh.pa.us>> wrote: > > Melvin Davidson <melvin6925@gmail.com <mailto:melvin6925@gmail.com>> writes: > >> Best Practice would rather be something along the lines: > >>>> Avoid coding in a way that triggers "WARNING: > >>>> nonstandard use of escape in a string literal". If you > >>>> cannot comply with this rule document your reasons. > > > Thanks for the suggestion. For the past few months I've been dealing with > > an error log that is filled with these warnings simply because > > the developers do not comprehend how to use ( or the requirement to use) > > an escape clause. > > IMO best practice in this area is "run with standard_conforming_strings = ON". > If you're seeing this warning at all, it's because you aren't doing that, > which means your code is unnecessarily unportable to other DBMSes. > Adopting a coding policy of always using E'' would make that worse. > > regards, tom lane > On 08/22/2015 02:40 PM, Melvin Davidson wrote: > Tom, > > Thank you for pointing out "run with standard_conforming_strings = ON".. > However, that is NOT the problem. > What is occurring is that the developers are sending strings like 'Mr. M\'vey', > which, if we set standard_conforming_strings = ON, would, and does, result in errors and the statement failing, > which is a lot less desirable that a simple warning. > > Therefore, I am trying to educate the developers in the proper method of escaping strings, > instead of loading up the error log with annoying warnings. > Please dont top post. But you are not educating them correctly. Using E'' isnt right. The correct way to escape a quote is to double quote it: 'Mr. M''vey' -Andy
В списке pgsql-general по дате отправления: