It's a "FEATURE" of recent IRIS to hide deprecated code ![]()
- Log in to post comments
It's a "FEATURE" of recent IRIS to hide deprecated code ![]()
Hi @Jeffrey Drumm . there are 2 options
#1)
From SMP > Explorer > Classes in %SYS set filter to %IO*.cls and Documentation.png)
#2)
In Studio in NS %SYS load the class and show Class Documentation
[CTRL + SHIFT +F1]
and see the code. I have seen more thrilling constructs before.
GREAT!
%IO* is invisible in my local Class Reference
@Marlin Mixon
It is just not possible the way you tried. Because: (from class docs)
Move to this position in the stream. If this suceeds then return true, else return false. Note this implementation is not efficient because it searches from the start of the stream,
This means it does a Rewind() and a Read(position)
• method Write(data As %RawString) as %Status
Appends the string data to the stream and advances the current stream position by the number of characters in data.
Note that a write operation immediately following a read or rewind will clear out the existing data in the stream.
%SYS>d ^SECURITY
1) User setup
2) Role setup
3) Service setup
4) Resource setup
5) Application setup
6) Auditing setup
8) SSL configuration setup
9) Mobile phone service provider setup
10) OpenAM Identity Services setup
11) Encryption key setup
12) System parameter setup
13) X509 User setup
14) KMIP server setup
15) Exit
Option? 1
1) Create user
2) Edit user
3) List users
4) Detailed list users
5) Delete user
6) Export users
7) Import users
8) Exit
Option?
so you can call the local commandline ( session or terminal) and run
your SELECT in SQL shell [ do $system.SQL.Shell() ]
or from SMP System->Explorer->SQL to see if there is any content.
If there is some content you may try next to use variables from the global scope
for your embeded SQL
instead of
&sql(Select demoVersion into :DemoVersion from demointerface.DemoInstances where ID=:demoID)
try it with
&sql(Select demoVersion into :%DemoVersion from demointerface.DemoInstances where ID=:%demoID)
what do you mean by "local" ?
local session, local instance, local server ?
assuming "production" runs on a server
Hi,
%ALL is best understood as a virtual NAMESPACE.
It is a mapping attribute that you add to your packages, classes, routine, globals to make them visible beyond the physical namespace that you can select in SMP.
To see its content in SMP select System > Configuration > Namespaces
.png)
definitely yes.
global store is a fast-changing DB with related mirror, journal, ECP, Sharding.
routine DB should change rarely and under special control.
may eventually have journal, but should not participate in ECP, Sharding, Mirror
The VIEW as such could be understood as a complex SELECT which definition is stored in the system
At the first time processing, all code for access is generated and cached in the system
and marked with a signature. this may take a few seconds.
In parallel, a significant amount of structural data are also cached
The next time you call it, the signature is calculated and the already cached code is executed.
You save time for code generation and compilation.
If this happens shortly after the first call you take additional advantage of the cached structural data.
How much and how long structural data are caches depends on the available buffer pool
the use inside for makes it slower
This proves my observation that some %-classes are like American cars:
Not for speed, just for comfort!
@Alexey Maslov you see with some tweaking the factor is at 300.
It was initially even faster but hard to read.
Hi @Jack Huser,
I assume you would agree it is fair to compare apples to apples
but not horse coaches to formula-1 cars.
Being proud that I never lost a benchmark by speed I rewrote your code
that is nice to read and maintain but not very efficient, going for something
more speedy to show the limits and then checked it against your class.
My test file has only 47MB containing 181566 lines.
DEMO>write ##class(JUH.Test).ReadFile(file)
execution: 214.931024
1
DEMO>write ##class(JUH.Test).ReadQuick(file)
execution: .753696
lines: 181566
1
DEMO>write .753696/214.931024*100_" %"
.3506687801385062028 %I think 0.35% is quite an eye catcher.
And his is the class:
ClassMethod ReadQuick(strINReadFile As %String = "") As %Status { open strINReadFile::1 else write "Missing File",! quit '$$$OK set eof=##class(%SYSTEM.Process).SetZEOF(1) use strINReadFile set time1=$zh for line=0:1 { read strBuffer if $zeof set diff=$zh-time1 quit // do something with strBuffer } close strINReadFile do ##class(%SYSTEM.Process).SetZEOF(eof) write !,"execution: "_diff,!,"lines: ",line,! quit $$$OK }
I just couldn't resist my nature.
run a community container withZPM loaded e.g. intersystemsdc/iris-community:2020.4.0.547.0-zpm
and then from irisession
zpm "install webterminal"
this should do all you need
Thank you!
It confirms to me that I'm still able to do it.
For this query, I would suggest to define this index:
Index iFilter on (KundenNr,ErfassungsartBez,DatumAuftrag) ;The sequence of KundenNr,ErfassungsartBez,DatumAuftrag should by increasing selectivity
As found in Tune Table output (SMP > SQL > Actions > TuneTable)
I did further investigations on 'broken' input files and placed a related issue
https://github.com/MakarovS96/cache-tort-git/issues/8
It happened a little bit by accident but I found this a possible realistic scenario that explains
why the problem occurs every now and then. You may argue this is bad handling by user.
Accepted. But not unlikely.
I found this situation:
my pull request is posted https://github.com/MakarovS96/cache-tort-git/pull/7
Finally, the docker image now builds OK and contains all required classes & all globals.
( + also the bug in dc.script.Genre.cls was fixed)
Connection to local PowerBi now works and shows the expected images.
Thanks for fixing it.
I was somewhat surprised that IRIS Analytics was not required at all since there
was no Cube nor Pivot nor Dashboard. I built it myself just using dc.dc.bi.PopSongs.
OK. PowerBI graphics look better.
But here is not the place to comment on ZEN graphics.
no chance. M$ wants a corporate e-mail. I have no corporation.
confirms my personal opinion on M$ products
I can only use the free download version.
based on the PRODLOG the bug was reported as DP-408015
When I downloaded your Repo from GitHub the docker image generated.
But I just see just NOTHING inside the container of the dc.* classes or globals that are in the repo
I couldn't find any cube or pivots or dashboards. Neither in the container nor in the repo.
Not just me, also Power BI just found NOTHING.
What do you expect me to vote for ?
Sorry.
Quick add on:
"Copy Class" of this "Zombie" crashes Studio.
I was unable to reproduce it in InterSystems Studio Client 2021.1.0 Build 205
maybe some older version ?
I placed a prodlog on the strange behavior of $system.OBJ.Load()
PRODLOG 951065
As seen in my comment I can reproduce the error pattern and show some really dirty effects.
Someone willing to debug this source control and expose his SYSLIB may be the winner.
omit the server name and just use "" for your local server
%SYS>set db=##class(Config.Databases).DatabasesByServer("",.dbList)
%SYS>zw
db=1
dbList="DEMO,IRISSYS,CACHE,ECODE,EDATA,ENSLIB,IRISAUDIT,IRISLIB,IRISLOCALDATA,IRISTEMP,USER"
%SYS>
BIG CONGRATULATIONS.