Help about SERIAL8 data types
Posted in 2001
Topics: Data Types & Schema Design
Hello ; Could you explain to me what is SERIAL8 informix data types and is it available in Informix SE product ? Thanks for your reply ! Cheers -- --------------------------------------------------------------------- Jean-Philippe BATTU Phone : (33) 04 76 29 73 43 Database Competence Center Fax : (33) 04 76 29 75 18 Mail : jean-philippe.battu@bull.net Bull, ISD/ICS/DB Solution Center PC:B1/382 01 Rue de Provence B.P. 208 38432 Echirolles FRANCE ---------------------------------------------------------------------
In the year of Our Lord Thu, 11 Jan 2001 10:00:13 +0100, Jean-Philippe BATTU <jean-philippe.battu@bull.net> broke a vow of silence to utter: >Could you explain to me what is SERIAL8 informix data types >and is it available in Informix SE product ? It's an 8-byte SERIAL, and no it isn't.
Obnoxio The Clown wrote:
> In the year of Our Lord Thu, 11 Jan 2001 10:00:13 +0100, Jean-Philippe BATTU
> <jean-philippe.battu@bull.net> broke a vow of silence to utter:
>
> >Could you explain to me what is SERIAL8 informix data types
> >and is it available in Informix SE product ?
>
> It's an 8-byte SERIAL, and no it isn't.
It's a 10-byte hit on your disk space that stores an 8-byte signed
integer and otherwise behaves like a classic 4-byte SERIAL column on
steroids, rather like an INT8 is a 10-byte hit on your disk space that
stores an 8-byte signed integer...
No, I do not understand *why* they chose to use 10 bytes for the on-disk
representation; it is, IMNSHO, a gross mistake. It is bad enough having
the int8_t structure -- which might even be necessary on machines
without 64-bit integers -- but actually storing the data in the same
format makes a mockery of the efforts that went into the on-disk format
for DECIMAL, which is both highly compressed and sortable using basic
character sorting.
You don't believe me? Try:
CREATE TABLE t(s8 SERIAL8 NOT NULL);
SELECT tabname, rowsize FROM "informix".systables WHERE TabName = "t";
--
Yours,
Jonathan Leffler (Jonathan.Leffler@Informix.com) #include <disclaimer.h>
Guardian of DBD::Informix v1.00.PC1 -- http://www.perl.com/CPAN
"I don't suffer from insanity; I enjoy every minute of it!"
Jonathan Leffler wrote: > It's a 10-byte hit on your disk space that stores an 8-byte signed > integer and otherwise behaves like a classic 4-byte SERIAL column on > steroids, rather like an INT8 is a 10-byte hit on your disk space that > stores an 8-byte signed integer... Is there a syssteroids table in sysmaster ?