pgsql: Add new SQL function, format(text).

Started by Robert Haasover 15 years ago3 messagescomitters
Jump to latest
#1Robert Haas
robertmhaas@gmail.com

Add new SQL function, format(text).

Currently, three conversion format specifiers are supported: %s for a
string, %L for an SQL literal, and %I for an SQL identifier. The latter
two are deliberately designed not to overlap with what sprintf() already
supports, in case we want to add more of sprintf()'s functionality here
later.

Patch by Pavel Stehule, heavily revised by me. Reviewed by Jeff Janes
and, in earlier versions, by Itagaki Takahiro and Tom Lane.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=750487077802861a2accd94164166747ec311fa4

Modified Files
--------------
doc/src/sgml/func.sgml | 25 +++++
doc/src/sgml/plpgsql.sgml | 23 ++++
src/backend/utils/adt/varlena.c | 195 ++++++++++++++++++++++++++++++++++++
src/include/catalog/pg_proc.h | 4 +
src/include/utils/builtins.h | 2 +
src/test/regress/expected/text.out | 108 ++++++++++++++++++--
src/test/regress/sql/text.sql | 32 ++++++-
7 files changed, 374 insertions(+), 15 deletions(-)

#2Andres Freund
andres@anarazel.de
In reply to: Robert Haas (#1)
Re: pgsql: Add new SQL function, format(text).

On Sunday 21 November 2010 04:34:37 Robert Haas wrote:

Add new SQL function, format(text).

Currently, three conversion format specifiers are supported: %s for a
string, %L for an SQL literal, and %I for an SQL identifier. The latter
two are deliberately designed not to overlap with what sprintf() already
supports, in case we want to add more of sprintf()'s functionality here
later.

Patch by Pavel Stehule, heavily revised by me. Reviewed by Jeff Janes
and, in earlier versions, by Itagaki Takahiro and Tom Lane.

A tiny question: Why does that commit remove quote_ident() test cases?

Andres

#3Robert Haas
robertmhaas@gmail.com
In reply to: Andres Freund (#2)
Re: pgsql: Add new SQL function, format(text).

On Sun, Nov 21, 2010 at 5:22 PM, Andres Freund <andres@anarazel.de> wrote:

On Sunday 21 November 2010 04:34:37 Robert Haas wrote:

Add new SQL function, format(text).

Currently, three conversion format specifiers are supported: %s for a
string, %L for an SQL literal, and %I for an SQL identifier.  The latter
two are deliberately designed not to overlap with what sprintf() already
supports, in case we want to add more of sprintf()'s functionality here
later.

Patch by Pavel Stehule, heavily revised by me.  Reviewed by Jeff Janes
and, in earlier versions, by Itagaki Takahiro and Tom Lane.

A tiny question: Why does that commit remove quote_ident() test cases?

Because my git-fu is distinctly second rate. Will fix.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company