Re: [HACKERS] Re: [DOCS] Re: FE/BE protocol revision patcht - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Re: [DOCS] Re: FE/BE protocol revision patcht
Date
Msg-id 199807122204.SAA08329@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Re: [DOCS] Re: FE/BE protocol revision patcht  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-hackers
> >
> > > > > Comments?  I am willing to change it.
> > > >
> > > > An int 4 atttypmod should be fine. A bit of overhead perhaps, but
> > > > who quibles about a few bytes these days? And, perhaps there is a
> > > > use.
> > > Yea, no one commented, so it stays an int2 until someone finds a type
> > > that needs more than a two-byte atttypmod.  Right now, it fits the
> > > need.
> >
> > Well, I didn't comment because I haven't yet worked out the issues. But
> > I'll go with Bruce's and David's inclination that we should shoehorn
> > numeric()/decimal() into something like the existing atttypmod field
> > rather than trying for "the general solution" which btw isn't obvious
> > how to do.
> >
> > However, I don't think that 16 bits vs 32 bits is an issue at all
> > performance-wise, and I'd to see atttypmod go to 32 bits just to give a
> > little breathing room. I'm already using int32 to send attypmod to the
> > new char/varchar sizing functions.
>
> OK, I can change it, but it is not easy.  Will take time.
>
> >
> > Can we go to int32 on atttypmod? I'll try to break it up into two
> > sub-fields to implement numeric().
> >
> > btw, anyone know of a package for variable- and large-precision
> > numerics? I have looked at the GNU gmp package, but it looks to me that
> > it probably won't fit into the db backend without lots of overhead. Will
> > probably try to use the int64 package in contrib for now...
> >
> >                       - Tom
> >

OK, I have made the change so we now have 32-bit atttypmod fields.  We
were already passing it as int32 to the clients, so no changes to libpq.

This change will required all developers to do a new initdb.

I had forgotten how much code there is for atttypmod.  I did it in
stages, but forgot how intertwined it is in much of the code.  I used a
consistent naming convention, so it was very easy to change all
references very quickly.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Goran Thyni
Date:
Subject: db/dbm-emulation
Next
From: Bruce Momjian
Date:
Subject: atttypmod now 32 bits, interface change