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