Re: [HACKERS] quote_literal with NULL
От | Brendan Jurd |
---|---|
Тема | Re: [HACKERS] quote_literal with NULL |
Дата | |
Msg-id | 37ed240d0710110911x5e4cf8afp4c4921d291e73966@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: [HACKERS] quote_literal with NULL
Re: [HACKERS] quote_literal with NULL |
Список | pgsql-patches |
Hi patchers, Per discussion on -hackers, I've implemented a new internal function quote_nullable, as an alternative to quote_literal. The difference is that quote_nullable returns the text value 'NULL' on NULL input, which is suitable for insertion into an SQL statement. The idea is that when you're writing a plpgsql function with dynamic queries, you can use quote_nullable for values which are possibly-null. You're still responsible for handling NULLs sensibly within your query, but at least you get a syntactically valid SQL statement. I've included doc updates but no new regression tests. I did not add tests because there are currently no tests for quote_literal and when I recently suggested addition of tests for quote_ident [1] they were rejected. I still don't fully understand the criteria for inclusion of regression tests, but this is a similar situation, so I'm following the same guidance. Patch compiles cleanly and passes make check on x86 gentoo. Thanks for your time, BJ [1] http://archives.postgresql.org/pgsql-patches/2007-10/msg00080.php On 10/11/07, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Well, it's clearly useful in INSERT and UPDATE. For WHERE cases, you > might or might not be able to use it, but I note that quote_nullable() > would work much more like what happens if you use a parameter symbol > and then bind NULL as the actual parameter value ... > > In hindsight we should probably have done quote_literal the way the OP > suggests, but I concur that it's too late to change it. An additional > function seems a reasonable compromise.
Вложения
В списке pgsql-patches по дате отправления: