Re: Version Number Function?

Поиск
Список
Период
Сортировка
От David E. Wheeler
Тема Re: Version Number Function?
Дата
Msg-id B2B21B77-B95C-44D4-A5FB-55B8F3EA67EF@kineticode.com
обсуждение исходный текст
Ответ на Re: Version Number Function?  (Hannu Krosing <hannu@2ndQuadrant.com>)
Ответы Re: Version Number Function?  ("David E. Wheeler" <david@kineticode.com>)
Re: Version Number Function?  (Hannu Krosing <hannu@2ndQuadrant.com>)
Список pgsql-hackers
Well, the C version I borrowed from dumpitils seems to work great. Any  
reason I shouldn't stay with that?

Best,

David

Sent from my iPhone

On Oct 14, 2008, at 7:44, Hannu Krosing <hannu@2ndQuadrant.com> wrote:

> On Sun, 2008-10-12 at 14:39 -0700, David E. Wheeler wrote:
>> On Oct 12, 2008, at 14:11, Tom Lane wrote:
>>
>>> You'd have to parse the result of version().
>>
>> As I figured. This is what I'm trying:
>
> if performance is not critical, then you could use this:
>
> hannu=# create or replace function pg_version_num() returns int  
> language
> SQL as $$
>  select
>  10000 *
>  cast(substring(version()
>                 from
>                '^PostgreSQL +([0-9]+)[.][0-9]+[.][0-9]+ +') as int)
>  +
>  100 *
>  cast(substring(version()
>                 from
>                '^PostgreSQL +[0-9]+[.]([0-9]+)[.][0-9]+ +') as int)
>  +
>  cast(substring(version()
>                 from
>                '^PostgreSQL +[0-9]+[.][0-9]+[.]([0-9]+) +') as int);
> $$;
> CREATE FUNCTION
>
> hannu=# select pg_version_num();
> pg_version_num
> ----------------
>          80303
> (1 row)
>
>> pg_version_num(PG_FUNCTION_ARGS)
>> {
>> #ifdef PG_VERSION_NUM
>>     PG_RETURN_INT32(PG_VERSION_NUM);
>> #else
>>     /* Code borrowed from dumputils.c. */
>>    int            cnt;
>>    int            vmaj,
>>                vmin,
>>                vrev;
>>
>>    cnt = sscanf(PG_VERSION, "%d.%d.%d", &vmaj, &vmin, &vrev);
>>
>>    if (cnt < 2)
>>        return -1;
>>
>>    if (cnt == 2)
>>        vrev = 0;
>>
>>    PG_RETURN_INT32( (100 * vmaj + vmin) * 100 + vrev );
>> #endif
>>
>> Best,
>>
>> David
>>
>>
>


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: autovacuum and reloptions
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: patch: Allow the UUID type to accept non-standard formats