15.02.2022 15:20, Dmitry Yemanov wrote:

...

I can think of two ways to proceed:

1) Keep rebuilding the index every time the type is changed. Cast all column values into the new format before storing keys into the index. Forget about being scale-independent, pick the scale from the latest table format (and store BIGINTs or all exact numerics as integers without scale, as you suggest).

2) Prohibit decreasing the scale. Avoid rebuilding the indices unless really necessary (idx_itype is changed). Consider it a good thing (tm).

Maybe there may be other options, I didn't think deeply about this.

  2+)  Rebuild index only if scale was decreased. Add optional clause at SQL 
syntax level
to explicitly [dis]allow this. If scale was not decreased - leave index 
unchanged.

Regards,
Vlad


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to