go to post Robert Cemper · Nov 3, 2022 Following this discussion since beginning I'm wondering about the variant I've learned.my personal approach would be.#1)have an exact copy of your class also pointing to the same storageremove all index definitions from that clone classrun your bulkload#2)if you don't want to have the same storagejust eliminate the index definitions in the copyclean its storage and run your bulk loadfinally, merge the resulting globals #' .)It's not pure OO,but writing to storage is never OO with Caché or IRIS
go to post Robert Cemper · Oct 28, 2022 GREAT!Looks like embedded Py starts to understand how IRIS really works inside !!!!
go to post Robert Cemper · Oct 27, 2022 I'd say it's a bug in Query Generator.A workaround in DB-API just might hide the real cause. If you are lucky the bug is fixed by the next release or the next after or some future release
go to post Robert Cemper · Oct 27, 2022 thanks for confirming my diagnose- that's why I used "+id as id1" to break the link to index global- and :BTW: ORDER BY 1 ; just using column position shows the same bug
go to post Robert Cemper · Oct 26, 2022 set claim=##class(Claim).%OpenId(claimnum) ; or similar set line=##class(ClaimLine).%OpenId(linenum) ; or similar do claim.ClaimLineRel.Insert(line) now your query should work
go to post Robert Cemper · Oct 25, 2022 Why would you want to do this?the index related to %Save() is no "build" but just setting a value to the index global. setting an index is mostly less load than saving an object.
go to post Robert Cemper · Oct 24, 2022 @Laurel James (GJS) You are very welcome!I publish ANY review that I'm able to identify. Not just my own, which are easiest to find.
go to post Robert Cemper · Oct 24, 2022 see this article: Date before Dec.1840 ? Negative $H(orolog) ?
go to post Robert Cemper · Oct 23, 2022 A possible workaround SAMPLES>set rs= ##class(%SQL.Statement).%ExecDirect(,"SELECT +id id1, x, y, z FROM some_table ORDER BY id") SAMPLES>while rs.%Next() { zwrite $listbuild(rs.id1, rs.x, rs.y, rs.z) } $lb(1,1,2,"z1") $lb(2,2,3,"z2") $lb(3,3,4,"z3") $lb(4,4,5,"z4") SAMPLES> The point is to consume your value NOT from temp order global. tested in Cache for Windows (x86-64) 2018.1.7 (Build 721U) Fri Mar 18 2022 22:07:35 EDTShould also work in IRIS
go to post Robert Cemper · Oct 15, 2022 Just as described here you need to check the already used connections.
go to post Robert Cemper · Oct 15, 2022 and code quality will struggle with it and dislike it because you use name in write, but you don't set it explicitly but don't care much about:it doesn't understand %-variables and global variable scopesand $$$macros with code inside, and ... and ... and
go to post Robert Cemper · Oct 14, 2022 to get control over your situation you have 2 key methods: $SYSTEM.License.MaxConnections() returns the maximum number of connections a user can make while consuming one license unit. $SYSTEM.License.ConnectionCount() returns the number of connections currently associated with the given UserIdentifier. The range of return values is normally 0 through MAXCONNECTIONS. If the value exceeds MAXCONNECTIONS then more than the allowable number of concurrent connections were attempted for a given ID and the system has transitioned to a mode of one connection per license for this UserIdentifier. So you have to check if your user has exhausted its available connections and block him.It's anyhow quite interesting how these users are able to trigger so many connections.
go to post Robert Cemper · Oct 14, 2022 This is intentional behavior.If the routine you changed calls some subroutine it is kept "on the stack"This is a requirement to have a save return and continuation after the call. The new version only becomes active after you have left the previous one by QUIT or RETURN.simpler: if it is gone from the return path.
go to post Robert Cemper · Oct 13, 2022 I share your suggestion! When I started with Docker I was highly skeptical after many years with VMware starting before their first release.It was a hard exercise and I took quite a while digging through docs and helps.My main problem was that everything was so generic and not at all specific to IRIS (or Caché). Meanwhile, it became so common to me that I stopped running reviews on packages without docker.Docker allowed me to have a "clean desk" after testing.In addition. I saw through this activity so many valid variations thatI doubt to decide how to start and where.On the other hand, I see in OEX ~450 tested and working examples (a dozen PR still pending) Following these examples and trying to understand what will be achievedcould be good food for training designers.
go to post Robert Cemper · Oct 11, 2022 You may have only 1 command: in each buildthe 2nd overwrites the first iris: image: intersystemsdc/iris-community:latest command: --check-caps false container_name: tls-ssl-iris networks: app_net: ipv4_address: 172.16.238.20 volumes: - ./iris-config-files:/opt/config-files # Mount certificates files. - ./certificates/CA_Server.cer:/usr/irissys/mgr/CA_Server.cer - ./certificates/iris_server.cer:/usr/irissys/mgr/iris_server.cer - ./certificates/iris_server.key:/usr/irissys/mgr/iris_server.key hostname: iris # Load the IRIS configuration file ./iris-config-files/iris-config.json command: ["-a","sh /opt/config-files/configureIris.sh"] this worked as multi-line command: - -a - sh /opt/config-files/configureIris.sh - --check-caps false BUT command: ["-a","sh /opt/config-files/configureIris.sh","--check-caps false"] works as well
go to post Robert Cemper · Oct 11, 2022 nothing prevents you to load this script at runtime from server. <script src="myscripts.js"></script> from w3schools.com https://www.w3schools.com/tags/att_script_src.asp So you are outside your Caché