This utility is used to compress bitmap indices.
Over time in a volatile table (think lots of INSERTs and DELETEs) the storage for a bitmap index will become less and less efficient.
To a lesser extent index value changes, for example OrderStatus changing from Open to Closed, can also degrade bitmap performance.
This utility can by run on a live system.
It will loop over all bitmap indices in a class or namespace and compress them by either removing a chunk that is all zeros or by using $BITLOGIC() to compress the bits.
The Utility has 2 entry points:
d ##class(%SYS.Maint.Bitmap).Namespace("Samples",1,1,"2014-01-17 09:00:00")
Entry point to compact all bitmaps in a namespace.
Each run records its' status in this class
If the last run did not finish then it will pick up where it stopped
This utility will only Compact globals in the default database
ns - Namespace you want to compact
NoJournal - Stop journaling for this Process
1 to Stop Journaling
0 to continue Journaling default = 0
Display - write info to the current device
1 to write to the device
0 to not write to the device default = 0
StopTime - Timestamp for when the utility should stop.
The stop time is tested after each index is finished so it could go over.