thanks for the clarification. I had a similar experience with node.js before.
But was not so certain to know the reasoning.![]()
- Log in to post comments
thanks for the clarification. I had a similar experience with node.js before.
But was not so certain to know the reasoning.![]()
you can do it from SMP > SystemOperation > Databases > .....
or from Terminal, Namespace %SYS
%SYS>do ^DATABASE 1) Create a database 2) Edit a database 3) List databases 4) Delete a database 5) Mount a database 6) Dismount a database 7) Compact globals in a database 8) Show free space for a database 9) Show details for a database 10) Recreate a database 11) Manage database encryption 12) Return unused space for a database 13) Compact free space in a database 14) Defragment a database 15) Show background database tasks Option? 2 Database directory? ? 1) c:\intersystems\iris\mgr\ 2) c:\intersystems\iris\mgr\ens\ 3) c:\intersystems\iris\mgr\ens\ensenstemp\ 4) c:\intersystems\iris\mgr\enslib\ 5) c:\intersystems\iris\mgr\irislib\ 6) c:\intersystems\iris\mgr\irislocaldata\ 7) c:\intersystems\iris\mgr\iristemp\ 8) c:\intersystems\iris\mgr\user\ Database directory? 8 c:\intersystems\iris\mgr\user\ 1)* Directory: c:\intersystems\iris\mgr\user\ 2)* Block size (bytes): 8192 3)* Mirror DB Name: 4)* Mirror Set Name: 5) Current Size (MB): 11 6) Max size (MB), 0=Unlimited: 0 7) Expansion size (MB), 0=Default: 0 8) Resource name: %DB_USER 9) Preserve global attributes: Nein 10) Global journal state: Ja 11) New global collation: IRIS standard 12) New global growth block: 50 13) New global pointer block: 16 14) Read Only: Nein 15)* Encrypted: Nein Field number to change?
this looks like "python" is not recognized in the spawned process
You may try a full reference "C:\......python.exe...."
In a terminal session you have a process and $ZF(-1) starts a child process
From Studio this is definitely different as Studio uses a different type of connection using SuperServer port.
https://docs.intersystems.com/iris20211/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzf-1
studio is not a real terminal with an isolated session context.
does it change using %cde instead of code as variable ?
If this is your container from GitHub I had no problem on oct.22, ~22:00 (CEST)
BUT:
- I run all docker just from the Win CMD line
- docker system prune -f to clean away all old junk
- docker-compose build no extra flags
- docker-compose up -d works as expected
- docker-compose logs to verify the startup
.png)
"know for a fact that is possible to have multiple statements within a single query"
I wasn't aware of such a feature over the decades.
So it might be wise to get in contact with your personal Sales Engineer or contact WRC
So put it in a Stored procedure and deposit the conditions in a table.
Could be a classical case to use indirection or eXecute
Whether maintaining a table or 70000 different WHERE should be the same effort.
At that point: Why to use SQL DELETE at all ?
I like your PY solution. That's a promising aproach.
Especiallly now with Embedded Py
BUT: if you intend to have tablename1, tablename2, tablename3, ...
you better wrap it in a ClassMethod and project it as Stored Procedure
what about simply using OR in your SQL:
DELETE FROM TableName WHERE ID = 2
OR ID = 3
OR ID = 4
OR <whaever condition>
OR <whaever other condition>
Ah, that's something different.
You require a conversion table by location + a time range when DST is to be applied!
Location is a static thing to be defined once.
DST is a real challenge as it depends on the region and requires annual adjustment by location.
Including the chance that Europe may split up next year or drop it at all.
It might make sense to get it from an external government source by country.
it is definitely not included in any InterSystems product.
as by docs.
By default $ztz shows you geographic offset of your server to Greenwich. No DST !
so for Madrid "write $ZTZ" => -60
I see 2 principal ways:
I miss my code quality!
Satisfying these "rules" kept me more busy than the rest of the code.png)
!!
Nothing prevents you to have such rules as part of your object definition.
And all the code to define this is definitely part of Caché or IRIS.
Caché and IRIS have excellent SQL support and projection of objects to simple tables.
But you should not try to compare an Object database to any relational database.
Just as a comparison, you won't ask:
Why does a 747 not have red blinking warning lights at his back like a yellow school bus?
In reverse the 2 you mentioned try to mimic features of an Object database. With limited success.
PuTTY, KiTTY
if you don't have the fitting Dockerfile + docker-compose.yml your installation might end in troubles
I'd suggest using one of the ready-made templates.
https://github.com/intersystems-community/objectscript-docker-template
or any other from OEX https://openexchange.intersystems.com/
As by default is READ ONLY as with any installation and you are well-advised not to change this.
What container image do you start ?
@Sergei Shutov You missed the point.
validator
is typically stored as part of the individual data record to handle various types of checks within your class to provide the highest flexibility. Think of language or geographically related checking.
You can't bypass the challenge.
Neither by $classmetho() nor any code generator as this is all static code frozen and inflexible a runtime.
Creating a check routine by field or by record is not a realistic solution
BIG THANKS !
SMELLS ! what a waste of energy just for cosmetics and no added value or functionality !
.png)
Video was added today https://youtu.be/bVSlprhsUJ8
Good Morning,
Now the case seems rather clear to me:
There's a mismatch. You see the code but no data at runtime.
Project is always just a subset of Namespace
you seem to miss this mapping by failed installation
[Map.your namespace>
Global_Ens.SecondaryData*=ENSSECONDARY
Global_EnsDICOM.Dictionary=ENSLIB
Global_EnsEDI.Description=ENS
Global_EnsEDI.Description("X","X12")=ENSLIB
Global_EnsEDI.Schema=ENS
Global_EnsEDI.Schema("HIPAA_4010")=ENSLIB
Global_EnsEDI.Schema("HIPAA_5010")=ENSLIB
Global_EnsEDI.Schema("ISC_00401")=ENSLIB
Global_EnsEDI.Schema("ISC_00405")=ENSLIB
Global_EnsEDI.X12.Description=ENS
Global_EnsEDI.X12.Description("HIPAA_4010")=ENSLIB
Global_EnsEDI.X12.Description("HIPAA_5010")=ENSLIB
Global_EnsEDI.X12.Schema=ENS
Global_EnsEDI.X12.Schema("HIPAA_4010")=ENSLIB
Global_EnsEDI.X12.Schema("HIPAA_5010")=ENSLIB
Global_IRIS.Msg=ENS
Global_IRIS.Msg("Arial,Tahoma,Verdana")=ENSLIB
Global_IRIS.Msg("Confirm")=ENSLIB
Global_IRIS.Msg("EDIDocumentView")=ENSLIB
Global_IRIS.Msg("Ens")=ENSLIB
Global_IRIS.Msg("EnsAlert")=ENSLIB
Global_IRIS.Msg("EnsBPL")=ENSLIB
Global_IRIS.Msg("EnsColumns")=ENSLIB
Global_IRIS.Msg("EnsDICOM")=ENSLIB
Global_IRIS.Msg("EnsEDI")=ENSLIB
Global_IRIS.Msg("EnsEDIEDIFACT")=ENSLIB
Global_IRIS.Msg("EnsEDIHL7")=ENSLIB
Global_IRIS.Msg("EnsEDISEF")=ENSLIB
Global_IRIS.Msg("EnsEDIX12")=ENSLIB
Global_IRIS.Msg("EnsEnt")=ENSLIB
Global_IRIS.Msg("EnsLDAP")=ENSLIB
Global_IRIS.Msg("EnsMQTT")=ENSLIB
Global_IRIS.Msg("EnsPushNotifications")=ENSLIB
Global_IRIS.Msg("EnsRecordMap")=ENSLIB
Global_IRIS.Msg("EnsSAP")=ENSLIB
Global_IRIS.Msg("EnsSR")=ENSLIB
Global_IRIS.Msg("EnsSearchTable")=ENSLIB
Global_IRIS.Msg("EnsWf")=ENSLIB
Global_IRIS.Msg("EnsXPATH")=ENSLIB
Global_IRIS.Msg("EnsebXML")=ENSLIB
Global_IRIS.Msg("Ensemble")=ENSLIB
Global_IRIS.Msg("ITK")=ENSLIB
Global_IRIS.Msg("RuleEditor")=ENSLIB
Global_IRIS.Msg("Workflow")=ENSLIB
Global_IRIS.Msg("tahoma,verdana")=ENSLIB
Global_IRIS.MsgNames=ENS
Global_IRIS.MsgNames("Arial,Tahoma,Verdana")=ENSLIB
Global_IRIS.MsgNames("Confirm")=ENSLIB
Global_IRIS.MsgNames("EDIDocumentView")=ENSLIB
Global_IRIS.MsgNames("Ens")=ENSLIB
Global_IRIS.MsgNames("EnsAlert")=ENSLIB
Global_IRIS.MsgNames("EnsBPL")=ENSLIB
Global_IRIS.MsgNames("EnsColumns")=ENSLIB
Global_IRIS.MsgNames("EnsDICOM")=ENSLIB
Global_IRIS.MsgNames("EnsEDI")=ENSLIB
Global_IRIS.MsgNames("EnsEDIEDIFACT")=ENSLIB
Global_IRIS.MsgNames("EnsEDIHL7")=ENSLIB
Global_IRIS.MsgNames("EnsEDISEF")=ENSLIB
Global_IRIS.MsgNames("EnsEDIX12")=ENSLIB
Global_IRIS.MsgNames("EnsEnt")=ENSLIB
Global_IRIS.MsgNames("EnsLDAP")=ENSLIB
Global_IRIS.MsgNames("EnsMQTT")=ENSLIB
Global_IRIS.MsgNames("EnsPushNotifications")=ENSLIB
Global_IRIS.MsgNames("EnsRecordMap")=ENSLIB
Global_IRIS.MsgNames("EnsSAP")=ENSLIB
Global_IRIS.MsgNames("EnsSR")=ENSLIB
Global_IRIS.MsgNames("EnsSearchTable")=ENSLIB
Global_IRIS.MsgNames("EnsWf")=ENSLIB
Global_IRIS.MsgNames("EnsXPATH")=ENSLIB
Global_IRIS.MsgNames("EnsebXML")=ENSLIB
Global_IRIS.MsgNames("Ensemble")=ENSLIB
Global_IRIS.MsgNames("ITK")=ENSLIB
Global_IRIS.MsgNames("RuleEditor")=ENSLIB
Global_IRIS.MsgNames("Workflow")=ENSLIB
Global_IRIS.MsgNames("tahoma,verdana")=ENSLIB
Global_IRIS.Temp.EnsHostTotals=IRISTEMP
Global_IRIS.Temp.EnsPortal*=IRISTEMP
Global_IRIS.Temp.EnsPublic*=IRISTEMP
Global_IRIS.Temp.Ens*=ENSENSTEMP
Routine_Ens*=ENSLIB
Package_CSPX.Dashboard=ENSLIB
Package_Ens=ENSLIB
Package_EnsLib=ENSLIB
Package_EnsPortal=ENSLIBand eventually also these databases
ENSENSTEMP=C:\InterSystems\IRIS\mgr\ENS\ensenstemp\ ENSLIB=C:\InterSystems\IRIS\mgr\enslib\ ENSSECONDARY=C:\InterSystems\IRIS\mgr\ENS\enssecondary\
What do you mean by "my namespace extends %sys"
This makes no sense to me.
Did you setup the namespace yourself ?