I'm using go-irisnative to query InterSystems IRIS database, but I'm getting inconsistent results compared to executing the same SQL in SQLDBX (GUI client). The Go code returns fewer rows than expected.
Environment
| Component |
Version/Info |
| go-irisnative |
v0.0.0-alpha (0.2.1) |
| Go version |
go version output, e.g., go1.25.0 |
| IRIS Version |
e.g., IRIS 2023.1.0 Build 229.0 |
| OS |
Windows 11 / Linux / macOS |
| SQLDBX Version |
e.g., 6.5.2 |
DSN Configuration
var err error
HISDB, err = sql.Open("iris", "iris://1234:1234@127.0.0.1:51773/DHC-APP")
if err != nil {
global.Log.Fatal("fail:", zap.Error(err))
return
}
HISDB.SetMaxOpenConns(200)
HISDB.SetMaxIdleConns(10)
HISDB.SetConnMaxLifetime(30 * time.Minute)
if err := HISDB.Ping(); err != nil {
global.Log.Fatal("Failed to connect:", zap.Error(err))
}
sql:sSql := fmt.Sprintf("SELECT PAADM_PAPMI_DR->PAPMI_RowId1 PATIENT_ID,PAADM_PAPMI_DR->PAPMI_No IN_ID,PAADM_RowID VISIT_NO,"+
"PAADM_PAPMI_DR->PAPMI_Name NAME,PAADM_PAPMI_DR->PAPMI_Sex_DR GENDER, PAADM_CurrentBed_DR->BED_Code BED_CODE,TO_CHAR(PAADM_AdmDate, 'YYYY-MM-DD'),"+
"TO_CHAR(PAADM_AdmTime, 'HH24:MI:SS'),TO_CHAR(PAADM_PAPMI_DR->PAPMI_DOB, 'YYYY-MM-DD'),PAADM_AdmDocCodeDR->CTPCP_Code,paadm_admreason_dr->rea_desc "+
"FROM PA_Adm WHERE PAADM_VisitStatus = 'A' AND PAADM_Type = 'I' AND PAADM_DepCode_DR=%s", GetHLAreaCode(areaCode))
rows, err := config.HISDB.Query(sSql)
if err != nil {
global.Log.Error("error: ", zap.Error(err))
return
}
defer rows.Close()
for rows.Next() {
}
I'm using
go-irisnativeto query InterSystems IRIS database, but I'm getting inconsistent results compared to executing the same SQL in SQLDBX (GUI client). The Go code returns fewer rows than expected.Environment
go versionoutput, e.g., go1.25.0DSN Configuration