Re: 64-bit sequences

Поиск
Список
Период
Сортировка
От Paul Caskey
Тема Re: 64-bit sequences
Дата
Msg-id 39538E73.4B17C594@nmxs.com
обсуждение исходный текст
Ответ на 64-bit sequences  (Paul Caskey <paul@nmxs.com>)
Ответы Re: 64-bit sequences  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> 
> Paul Caskey <paul@nmxs.com> writes:
> > But first, has this issue come up in the past, and was a decision made to
> > keep sequences simple as an "int4" type only?  Please clue me in on the
> > history.  Is there any reason not to push forward with "int8" sequences,
> > as some sort of compile-time or run-time option?
> 
> Mainly it's that int8 isn't supported on all our platforms.  As a
> compile-time option it might be reasonable...
> 
>                         regards, tom lane

Okay, cool.  Similar subject: What about making the oid 64-bit?  At first
glance, this seems easier to change than the sequence generator, since you
guys do a good job of using sizeof() and the Oid typedef.  Changing the
typedef to "unsigned long long" should cover everything...?  I will test
it.

The snag I ran into with sequence.c is a missing Int64GetDatum() macro. 
My system is Sun Solaris 7, compiled in 32-bit mode.  So I
HAVE_LONG_LONG_INT_64 but don't HAVE_LONG_INT_64.  I do have the "int8"
SQL datatype and tested it.

In c.h I have these lines:

typedef signed char int8;               /* == 8 bits */
typedef signed short int16;             /* == 16 bits */
typedef signed int int32;               /* == 32 bits */

Is there some reason I'm missing the magic fourth line?  It should be:

typedef signed long long int64;         /* == 64 bits */

Isn't it strange I have the "int8" SQL datatype, but not the "int64" C
typedef and the Int64GetDatum() macro?  I'm not a 64-bit compiling expert,
so go easy on me.   


Paul Caskey
New Mexico Software


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Big 7.1 open items
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Big 7.1 open items