go to post Robert Cemper · Feb 1, 2018 There is an excellent series of 5 articles from Brendan Bannon The Art of Mapping Globals to Classeshttps://community.intersystems.com/post/art-mapping-globals-classes-1-3It tells you all details how to wrap existing globals into classes
go to post Robert Cemper · Feb 1, 2018 Query 1 Example 1 could be marginally faster by less line terminations and less command dispatch:But as this will be compiled some kind of code optimizer eventually might run.Query2 Example1 is faster by less line terminations and less command dispatch.BUT: Both cases aren't the place to win benchmarks. Rather look for Global access , SQL optimizing, ....
go to post Robert Cemper · Feb 1, 2018 query 1 misses a variant: set $lb(a,b,c,d,e,f)=$lb("345","arun","kumar","hi","yello","orange") query 2,example 2 should be I a=2 SET R="Arun"
go to post Robert Cemper · Feb 1, 2018 Hi Ben,- I like the idea of external samples. That offers definitely more flexibility .- DOCUMATIC is unchanged and works local! That's important. OK - JDBC: it isn't visible in Custom Install. You only see xDBC -> ODBC . Not an issue, rather a surprise. The .jar are where they used to be before.I'm really happy that we finally can get out of old chains imposed by 40yrs (DSM-11 and others) backward compatibility .Robert
go to post Robert Cemper · Jan 31, 2018 - no DOCBOOK- no SAMPLES- no JDBC Driver in installbut there is C:\InterSystems\IRIS\dev\java\lib\JDK18\isc-jdbc-3.0.0.jar .....- and a very small icon for csystray.exe in Win
go to post Robert Cemper · Jan 31, 2018 I wonder if it would be possible to have a more rigid syntax check (now in Atelier / and switchable)to enforce all kind of brackets (eg: condition like in JS). I tried to recommend this while teaching COS myself.With very limited success as some Dinos ignored it.
go to post Robert Cemper · Jan 31, 2018 rewrite of comment:if this is something likeSELECT people.name, holiday.date, people.ID||'^'||holiday.ID as UNIQFROM people JOIN holidayON people.country = holiday.countryThen the bolded expression should not be longer than your 50 Char.IF you use CachéStorageID is always a unique positive Integer (1.... 19digits) and you can always disassemble it by the separator.
go to post Robert Cemper · Jan 31, 2018 NO NEVER!ID in CacheStorage is an "autoincrement" positive Integer (1...2**64-1) ~19 digits decimal.AND is never reused.And you can split this construct in the original pieces if required
go to post Robert Cemper · Jan 31, 2018 totally right!!there is more old code out than you could / would like to imagineAnd Caché is backward compatible for 40 years (since DSM V1)New developers should not write it. But they need to understand it. Or at least recognize it.It's pretty similar to reading the bible in original language with no translation.
go to post Robert Cemper · Jan 31, 2018 if this is something likeSELECT people.name, holiday.date, people.ID||'^'||holiday.ID as UNIQFROM people JOIN holidayON people.country = holiday.countryThen the bolded expression should not be longer than your 50 Char.IF you use CachéStrorage
go to post Robert Cemper · Jan 31, 2018 I just added Quick Bookmarks plugin to my Atelier (better Eclipse)Works excellent and to my opinion far better than Studio.ALT+<num> to set numbered<CTRL>+B toggle / set unnumbered<CTRL>+N next<CTRL>+P previousJust installed from https://marketplace.eclipse.org/content/quick-bookmarks-plugin (ignore warnings)
go to post Robert Cemper · Jan 30, 2018 eventually an add-on from eclipse marketplace can close the gap.https://marketplace.eclipse.org/content/quick-bookmarks-plugin
go to post Robert Cemper · Jan 30, 2018 Show Active Key Bindings is in HelpMenuAnd as this is based on Eclipse some keys a different then in Studio.Eventually you may produce your private setup using Preferences.
go to post Robert Cemper · Jan 30, 2018 Assuming that you did not disable Journaling for the critical CACHE.DATyou can take a look into Mgmt Portal / System Operation / JournalThere you click on PROFILE and sort by Size:This gives you the fastest moving parts.And though it also contains updates your fastest GROWING globals will leave their traces there.In a next step you may analyze the Journal itself filtered by CACHE.DAT and SET operationbut that may take more time and effort.
go to post Robert Cemper · Jan 29, 2018 suggested steps:#1)Add Property Experiment As %String; to Class SCHED.TracerEntry#2) Write a Utility Class to move the existing content from SCHED.SchedEntry.Experiment in to the all List entries.#3)If you are satisfied and all methods access the new location of ExperimentYou may remove all old content of SCHED.SchedEntry.Experiment . Set it to ""and set the property to INTERNAL, PRIVATE or just delete SCHED.SchedEntry.Experiment . BUT don't touch the storage map! This is not a necessary step but just kind of clean up.
go to post Robert Cemper · Jan 29, 2018 NOTE: I had commented out the two &html lines in the Testing Method... and doing a Ctrl-O still work.Most likely your browser displays a cached version.Clean all caches on the way to browser and you will see the changes. It's a principle issue.with <input type="file" /> you select a file name local to your browser. That's just pure HTML.And what you have in hands is a file reference. Not the file itself.So what you may do next is to SUBMIT it to server. But scanning your menu you expect to open, modify, copy, ... That's nothing to be done from Browser but by a local application.
go to post Robert Cemper · Jan 25, 2018 the only effect is a smaller resultset of the subquery.it doesn't speed up the inner collection /sort process (+ inner WHERE ) before TOP is applied.I'm with you it's not intuitive and I think TOP ALL could be a default. But that's not happening.
go to post Robert Cemper · Jan 25, 2018 In principle OK.But also ODBC or JDBC connection have timeouts limits. Though they are typically longer than CSP.
go to post Robert Cemper · Jan 25, 2018 Yeah!it's not only no timeout but you can easy debug all your SQLCOMPUTED code.