go to post Eduard Lebedyuk · Jun 13, 2019 Docker for windows allows switching between Linux containers and native Windows containers; if you want to use Linux containers (i.e. IRIS), make sure you enabled that modeSee this section in the documentation.
go to post Eduard Lebedyuk · Jun 12, 2019 Looks like a locale problem.Add to the beginning of the script: import locale locale.setlocale(locale.LC_ALL, 'en_US.utf8')
go to post Eduard Lebedyuk · Jun 11, 2019 You need to check access to table.Try write $SYSTEM.SQL.CheckPriv($username,"1,<TABLE>","a") Replace <Table> with your table.
go to post Eduard Lebedyuk · Jun 10, 2019 Check Purge method of Ens.MessageHeader class for example. Here's how it determines cast-off date: set %tDoNotDeleteDate = $$$timeUTCHtoUTC($s($ztimezone'<0:($H-pDaysToKeep+1)_","_($ztimezone*60),1:($H-pDaysToKeep)_","_($ztimezone*60+86400))) So 24 hours.
go to post Eduard Lebedyuk · Jun 10, 2019 %ALLINDEX maybe. Also check alternate plans.Can you show an example:your table definitionsyour queryyour planhow do you think plan should go?
go to post Eduard Lebedyuk · Jun 10, 2019 How do I search?Tried: https://github.com/search?q=language%3Aobjectscript&type=Code but it yielded zero results.
go to post Eduard Lebedyuk · Jun 7, 2019 1. Modern editors color variable based on scope. p/t in the beginning is unnecessary.7. I mean if you develop an API all methods should accept either primitives or ByRefs or json. Not object arguments in one method, primitives in another, etc.8. If you return %Status always return it. If you return $this always return self.9. If your class has several instance methods and each has, let's say "debug" argument, remove this argument from methods and add "debug" as a class property.
go to post Eduard Lebedyuk · Jun 7, 2019 Check this article on iterating dynamic object.Instead of just displaying the fields you can use %Dictionary package to generate corresponding class.After that use new %JSON.Adaptor class (or old %ZEN.Auxiliary.jsonProvider class) to parse JSON into objects.
go to post Eduard Lebedyuk · Jun 6, 2019 Yes for custom storage you'll need to check the storage for hints.In the case of %Dictionary package check %LoadData method.To get method description call: set desc = $$$defMemberKeyGet(CLASS,$$$cCLASSmethod,METHOD,$$$cMETHdescription)
go to post Eduard Lebedyuk · Jun 5, 2019 Can you please elaborate on your question?Do you want to start using git? If so check this series of articles.Do you want to do some advanced git flow control? If so please describe what do you want in more detail.
go to post Eduard Lebedyuk · Jun 5, 2019 SQL is a declarative language (same as HTML for example). It does not DO anything. All it is is a description of what do you want to achieve. In the case of InterSystems IRIS (and any other dbms for that matter) we take SQL statement, parse it into AST and generate code in other imperative language from AST. Now this generated code gets executed.In case of InterSystems IRIS we generate the code in ObjectScript language. For DROP statement it would include this line: kill ^globalD If you want to you actually can see generated OjectScript code. To do that Open SMP > System Administration > Configuration > SQL and Object Settings > General SQL Settings.Enable "Cached Query - Save Source" — This specifies whether to save the routine and INT code that Caché generates when you execute any Caché SQL except for embedded SQL. After that purge query from portal if it already exists and execute the query again in SMP. You'll see something like this: Cached query %sqlcq.<NAMESPACE>.cls<NUMBER> Go to studio and open %sqlcq.<NAMESPACE>.cls<NUMBER> class - it would contain generated ObjectScript code that executes for your SQL query.
go to post Eduard Lebedyuk · Jun 4, 2019 C:\TempC:\InterSystems\Ensemble2018\mgr\Temp\b.xlsxReplace with: C:\InterSystems\Ensemble2018\mgr\Temp\b.xlsx