On 2/22/16 11:47 AM, Alvaro Herrera wrote:
> Pavel Stehule wrote:
>
>> The design of the "format" function is not closed. Try to send prototype
>> and patch. The possibility to do PostgreSQL customization was strong reason
>> why we didn't implemented "sprintf" and we implemented "format".
>
> Probably not terribly useful here, but for the DDL-deparse patch I came
> up with a syntax to format JSON objects, which used %-escapes; each
> escaped element corresponds to a string literal, or to an object. So
> you'd have %{table}D where the "table" element in the JSON object could
> be a simple string which is expanded verbatim (plus quoting if
> necessary), or it could be a JSON object with something like { schema =>
> "public", name => "students" }, where each element is expanded and
> quoted as necessary; if the "schema" is null or it doesn't exist, it
> expands only the name, obviously omitting the dot.
Where did the "D" in "%{table}D" come from?
BTW, the syntax I chose for [1] is similar to format's, except I elected
to stick with % instead of $. So you do
%parameter_name%type
where type is s, L or I. I don't think it'd be hard to support an object
with 'schema' and 'name' keys.
[1]
https://github.com/decibel/trunklet-format/blob/master/doc/trunklet-format.asc#2-template-specification
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com