Written by

Senior Software Engineer
Question Ashok Kumar T · Jul 20, 2024

Index Build uses SetMapSelectability 

Hello Community,

As per the Build index documentation "If you use BUILD INDEX on a live system, the index is temporarily labeled as notselectable, meaning that queries cannot use the index while it is being built. Note that this will impact the performance of queries that use the index." Is this  hiding/not selectable is only applicable for BUILD INDEX or it supports class level %BuildIndices as well. as far as my analysis both syntax setting this setting SetMapSelectability

Thanks!

Product version: IRIS 2024.1
$ZV: IRIS for Windows (x86-64) 2024.1 (Build 267.2U) Tue Apr 30 2024 16:41:33 EDT

Comments

Robert Cemper · Jul 20, 2024
  • for a NEW created index this is "work in progress" that shouldn't be used until completed.
  • if it's a matter of repair  $SYSTEM.OBJ.ValidateIndices() might be more useful.
    see my article Fix broken index 
0
Ashok Kumar T  Jul 21, 2024 to Robert Cemper

Thanks Robert,

The validateIndices() and absolutely It's useful. For the first point. As far of my understanding both existing/newly created index both are set as "not selectable" at the time of building BUILD Index/%BuildIndices().  As per the documentation about the live system "not selectable" by default in BUILD INDEX. So, Does it applicable for programmatic %BuildIndices() as well?

0
Robert Cemper  Jul 21, 2024 to Ashok Kumar T

%BuildIndices is required if the indexed values are manipulated directly in the Global.
OR if the index definition is changed in Class or By DDL
during use as Object or SQL table it is maintained automatically.

0