Greg Stark <stark(at)mit(dot)edu> writes:
> On Thu, Nov 12, 2015 at 3:51 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> I think we could fix the immediate issue by redeclaring numeric
>> headers as arrays of (u)int16 rather than structs. I'm not
>> very excited about the packed-header case.
> That would require giving up the pretense that the code supports base
> 10 and base 100 I suppose.
No, not really. If we redefine NumericVar as a uint16 array,
then we'd have n_header or n_sign_dscale as array[0],
n_weight as (int16) array[1], and n_data as (NumericDigit *) &array[1]
or (NumericDigit *) &array[2] depending. Doesn't matter which
way NumericDigit is declared.
regards, tom lane