Home Applications GoSelector-Docker

GoSelector-Docker

Community Project
This project is maintained by its author and is not officially supported by InterSystems. For technical support, please contact the project developer.
0
0 reviews
0
Awards
4
Views
0
IPM installs
0
Add to bundle
Details
Releases (1)
Reviews
Issues
demo now in docker

What's new in this version

Initial Release

GoSelector-Docker

As the related PR was ignored for years, it’s now here
Some test data are preloaded for a quick start

Installation with ZPM

If the current ZPM instance is not installed, then in one line you can install the latest version of ZPM even with a proxy.

s r=##class(%Net.HttpRequest).%New(),proxy=$System.Util.GetEnviron("https_proxy") Do ##class(%Net.URLParser).Parse(proxy,.pr) s:$G(pr("host"))'="" r.ProxyHTTPS=1,r.ProxyTunnel=1,r.ProxyPort=pr("port"),r.ProxyServer=pr("host") s:$G(pr("username"))'=""&&($G(pr("password"))'="") r.ProxyAuthorization="Basic "_$system.Encryption.Base64Encode(pr("username")_":"_pr("password")) set r.Server="pm.community.intersystems.com",r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" d r.Get("/packages/zpm/latest/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c")

If ZPM is installed, then ZAPM can be set with the command

zpm:USER>install alwo-goselector

Installation with Docker

Prerequisites

Make sure you have git and Docker desktop installed.

Installation

Clone/git pull the repo into any local directory

$ git clone https://github.com/r-cemper/GoSelector-Docker.git

Build and run the container

$ docker-compose up -d   && docker-compose logs -f

How to Test it

Open IRIS console:

$ docker-compose exec iris iris session iris

or using iterm

http://localhost:42773/iterm/

System Management Portal

http://localhost:42773/csp/sys/UtilHome.csp

Database Column Selectivity is used as a guide by SQL Engine to influence choice of indexes for queries.
Implemented values maybe have already been added to distributed code for example by:

Do $SYSTEM.SQL.Stats.Table.SetFieldSelectivity("TEST","PropertyLen2","T1","5.1%")

Affects class storage definition adding:

<Property name="T1">
<Selectivity>5.1%</Selectivity>
</Property>

This scheduled Task:

  • Does NOT modify Table / Class definitions
  • Extracts existing column selectivity values found in an environment
  • Profiles corresponding data values
  • Generates a report of Column implemented selectivity versus actual ratio of distinct values
  • Is not intended to replace or compete with other utilities

Can Use Task Schedule Output file option to create report file.

set task=##class(alwo.GoSelector).%New()
set task.ClassNamePattern="1""TEST."".E"
do task.OnTask()
Classname SQL_TableName Property SQL_FieldName Code_Selectivity RecordCount Count_DistinctValues Calculated_Ratio
TEST.PropertyLen TEST.PropertyLen Def Def 2.5% 3 3 33.33%
TEST.PropertyLen2 TEST.PropertyLen2 T1 T1 5.1% 7 6 16.67%
TEST.PropertyLen2 TEST.PropertyLen2 T2 T2 5.2% 7 5 20.00%
TEST.PropertyLen2 TEST.PropertyLen2 T3 T3 5.3% 7 4 25.00%
TEST.PropertyLen2 TEST.PropertyLen2 T4 T4 5.4% 7 3 33.33%
TEST.PropertyLen2 TEST.PropertyLen2 T5 T5 5.5% 7 3 33.33%

Hope this utility may inspire reuse for other developer reporting needs.

Version
1.0.009 Sep, 2026
Category
Technology Example
Works with
InterSystems IRISInterSystems IRIS for Health
First published
09 Sep, 2026
Last edited
09 Sep, 2026