[GemStone-Smalltalk] Index Feature Survey

Norm Green norm.green at gemtalksystems.com
Fri Dec 8 10:17:16 PST 2023


We are planning a new version of the indexing system and are interested 
in which indexing features are actually being used by customers.

The attached script should be run as a user with read access to the 
indexes ... it works for GemStone versions as old as 3.3.9.

You may send private email to me, or open an HR and submit the report if 
you prefer to respond privately.

Norm Green
-------------- next part --------------
omit bytes
limit bytes 0
run
' | rpt coll |
  rpt := String new .
  coll := Array withAll: self getAllIndexes .
  1 to: coll size do:[:n | | anIndex nsc |
    anIndex := coll at: n .
    rpt add: n asString; add: '': '';
      add: ''a'', anIndex class name, ''(oop '', anIndex asOop asString, '')'' .
    nsc := anIndex nscRoot .
    rpt add: '' on a'', nsc class name, ''(oop '', nsc asOop asString,'')'';
        add: '' size '', nsc size asString ; lf .
    rpt add: ''     path '', anIndex pathComponentsString printString .
    ([ anIndex lastElementClass ] on: Error do:[:ex| ex return: nil ])
      ifNotNil:[:lastCls| rpt add: '' lastElementClass '', lastCls name, '' ''  ].
    [ rpt lf ; add:''    '', anIndex options printString ; lf .
    ] on: Error do:[:ex|
      [ rpt lf ; add:''    '', anIndex asString ; lf .
      ] on: Error do:[:exb | "ignore"].
    ].
    rpt add: ''  pathTerms''.
    anIndex do:[:aPathTerm |
      rpt add: '' '', aPathTerm class name .
    ].
    rpt lf .
  ].
  rpt size == 0 ifTrue:[ rpt := ''No indexes present''].
  rpt
' evaluateInContext: IndexManager current symbolList: System myUserProfile symbolList
%


More information about the GemStone-Smalltalk mailing list