Search Postgresql Archives

Re: Variadic polymorpic functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello

I add sprintf function. Now I think, we can add new contrib module
(string functions) with both function - format and sprintf. These
functions are relative different, so they can exists separately.
Format is simpler and faster. Sprintf is more powerful but slower.

postgres=# select pst.format('now is %', current_time);
          format
---------------------------
 now is 16:34:26.203728+01
(1 row)

postgres=# select pst.sprintf('now is %s', current_time);
         sprintf
--------------------------
 now is 16:34:45.24919+01

Regards
Pavel Stehule

2010/1/25 Vincenzo Romano <vincenzo.romano@xxxxxxxxxxx>:
> 2010/1/25 Pavel Stehule <pavel.stehule@xxxxxxxxx>:
>> 2010/1/25 Vincenzo Romano <vincenzo.romano@xxxxxxxxxxx>:
>>> 2010/1/23 Pavel Stehule <pavel.stehule@xxxxxxxxx>:
>>>> 2010/1/22 Vincenzo Romano <vincenzo.romano@xxxxxxxxxxx>:
>>>>> 2010/1/22 Tom Lane <tgl@xxxxxxxxxxxxx>:
>>>>>> Vincenzo Romano <vincenzo.romano@xxxxxxxxxxx> writes:
>>>>>>> 2010/1/22 Tom Lane <tgl@xxxxxxxxxxxxx>:
>>>>>>>> regression=# CREATE FUNCTION q( fmt text, variadic args "any" )
>>>>>>
>>>>>>> And this would allow for a stdarg-like argument list?
>>>>>>
>>>>>> Yeah, it should work, given suitable C code.
>>>>>
>>>>> Great!
>>>>>
>>>>
>>>> I wrote this function year ago.
>>>>
>>>> look on content
>>>>
>>>> http://pgfoundry.org/projects/pstcollection/
>>>
>>> Pavel,
>>> that format() function should be included into official contribs.
>>> What about HOWTO compile?
>>
>> There are not consensus about final semantic - some people prefer
>> sprintf like, some others PostgreSQL RAISE NOTICE like.
>
> Whatever you prefer would be OK as far as it is documented.
> In my opinion, the main usage for such a function is in the dynamic SQL code
> generation in PL/PgSQL functions:
>
> EXECUTE pst.format( .... );
>
> In this very case the sprintf-like syntax/semantics would be much more
> powerful, but
> the current one is OK if you think that there's nothing similar at the moment.
>
> Again, this function looks to be a badly missing one and including it
> at least into the
> default contrib collection would help a lot of users.
>
> --
> Vincenzo Romano
> NotOrAnd Information Technologies
> NON QVIETIS MARIBVS NAVTA PERITVS
>

Attachment: pstcoll.tar.gz
Description: GNU Zip compressed data

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux