On 16-3-2018 15:06, Vlad Khorsun via Firebird-devel wrote:

  Looking at bug CORE-5774 i found very odd behavior of engine: it seems it rebuilds indices in many unneeded cases, when almost any property of the indexed field is changed.

   I understand that index should be rebuild in this cases only:
- field data type is changed *and* its "index" type changed too
- default value is set at nullable field *and* there was no default value before
- "computed by" expression is changed

and indices should not be rebuild when:
- field data type is changed but its "index" type is still the same
- default value is changed (not added)
- default value is added or changed at non-nullable field
- default value is dropped
- field's identity value is restarted
- field name is changed
- field position is changed

Am i missing something ? Am i wrong ?

The only other thing I can think of that some people might rely on this behavior to be able to rebuild all dependent indices of a column without having to use `ALTER INDEX ... ACTIVE` on each individual index.

Introducing DDL to explicitly rebuild all indices dependent on a column could be an option.

Mark
--
Mark Rotteveel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to