go to post Dmitry Maslennikov · Jul 11, 2018 Well, now a few questions.Does it mean that any new requested features will be declined to implement?Any possibility to implement new features by own?How about the future of Atelier API?If InterSystems not going to extend Atelier anymore, maybe it's time to open sources Atelier or at least Atelier API.Currently, it sounds like Atelier will get the same future as Studio, it means no future. Or am I wrong?
go to post Dmitry Maslennikov · Jun 27, 2018 In addition to other answers, if want to operate with bits, you can use functions:$zhex - converts integer to hex and vice versa, be careful with type of variables. If you pass string it will convert from hex to dec, if you will pass integer it will convert from dec to hex.$factor - converts integer to a $bit string$bit (with bunch of $bit* functions) - operates with bitstrings.You may possible need some encryption functions, you can findAnd possible zlib, $system.Util.Compress and $system.Util.Decompress from class %SYSTEM.Util If you are going to work with H.264, I would not recommend to try to implement it in COS, it will not be fast enough. I'm not very know with this technology but I'm sure I know, it is too complicated and encoding should work in GPU. But it is impossible with Caché. I don't know why exactly do you need it, but I would recommend you to look at external tool ffmpeg, which is very useful and leader on work with video. And I think you can connect ffmpeg.dll, to work from Caché with $zf functions.
go to post Dmitry Maslennikov · Jun 21, 2018 Well, there is mostly only one reason, why you can't mount your database and this issue mostly happens when anybody tries to migrate between different versions on different machines. And it is different localization settings. Like, your database uses some national global collation, and you try to copy it to the instance with different settings, where this collation does not supported. You should find mention about wrong collation in cconsole.log. So, then, you should set the same NLS, as in the first system and try to mount again.Another possible reason is different blocksize in the Database. By default Caché uses 8KB blocks, but it is possible to have different block size, and instance should be configured for this particular blocksize, as well. cconsole.log should also contain error in this case.Some other issues, which you can face, but they do not prevent database to be mounted.8-bit or Unicode, when you install Caché you still able to choose it, when Ensemble, HealthShare, and IRIS is Unicode only. In this case, if your data not in English, possible data should be converted from 8-bit codepage to Unicde.cache.lck file next to CACHE.DAT, it is a lock file, prevents to mount database with exclusive access. But Database in this case should be mounted in read-only mode.
go to post Dmitry Maslennikov · Jun 21, 2018 Function $zf(-1) just executes a command passed as the second argument, you passed only file name. it is not complete, you should add command del for Windows. set status = $zf(-1, "del c:\sys\text.txt") it should return 0 if the command was successful. If you want just delete a file, you can use %File class, useful for many different operations with files and folders. set result = ##class(%File).Delete("c:\sys\text.txt")
go to post Dmitry Maslennikov · Jun 21, 2018 This format does not contain information about timezone, so, you don't have any direct way how to convert it to the local time. You can use DATEADD function, to correct time, but you should use constant correction, or in another field. SELECT DATEADD(hh, 3, CreationTime) FROM Table Like, here I just add 3 hours.
go to post Dmitry Maslennikov · Jun 12, 2018 If you work on versions 2016.1 and later you can use native JSON.
go to post Dmitry Maslennikov · Jun 7, 2018 KILLdes only happens during transaction, so, it will be able to revert changes.And it happens when you kill some node with existing subnodes. So, it will kill each subnode separately with KILLdes
go to post Dmitry Maslennikov · May 29, 2018 dmg version of eclipse works well for me, not sure that homebrew package is up to date enough and good enough. But anyway, for Atelier it does not actually matter if it PHP or something else, only platform matter.
go to post Dmitry Maslennikov · May 29, 2018 I successfully use atelier on Mac. Could you add some errors you faced?
go to post Dmitry Maslennikov · May 20, 2018 Yes, it also works as expected, because Write "123",456 Outputs 123456 Without any quotes, but it doesn't mean that there are no difference between "123" and just 123. You can see it if you would try to work with $zhex. Try by yourself Write $zhex(32) Write $zhex("32")
go to post Dmitry Maslennikov · May 20, 2018 And it works exactly as it should be. I the first example it as a Boolean, and next as a string. What would you do if you would need literal "true", if it would converted to Boolean all the time?
go to post Dmitry Maslennikov · May 15, 2018 Such message can be shown when you don't have enough license units. Do you have activated license there?As you trying to install 2018.1.1, I suppose that you trying to connect it to IRIS, and maybe you just don't have a license for IRIS.
go to post Dmitry Maslennikov · May 7, 2018 Is this error happens only once, or you can reproduce it?you said that classes not compiled after that, but what said $system.OBJ.Load, is there were some errors, too?
go to post Dmitry Maslennikov · May 2, 2018 You can run mgstat, for some time, and look what happens. It has a lot of metrics, some about WD state
go to post Dmitry Maslennikov · May 1, 2018 We are not WRC, it is developer community.As Tom already mentioned, in Caché class is not just as routine, it is like a bunch of objects defined in %Dictionary package, methods code can be found with %Dictionary.MethodDefinition or %Dictionary.CompiledMethodDefinition, depends on the situation.But it is possible to get a text of class like you can in Studio%Compiler.UDL.TextServices with methods GetTextAsStream, GetTextAsFile and etc., and convert back from text to classIn versions since 2016.2 you can use export to file in UDL format with $system.OBJ.ExportUDL()
go to post Dmitry Maslennikov · Apr 27, 2018 If you think you know exact column which fails this query, you can try to CAST it to another type which Cache will understand.
go to post Dmitry Maslennikov · Apr 25, 2018 USER>zload dc.test.1 USER>do sub1() sub1_1 USER>do sub2() sub2_2 USER>do sub2(10) sub2_10 USER>do procPrivate(10) DO procPrivate(10) ^ <NOLINE>^dc.test.1 USER>do procPublic(10) procPublic_10 USER>do sub1 sub1_1
go to post Dmitry Maslennikov · Apr 25, 2018 Pilar, could you please extend your post with a bit details about DNI, looks like it is used only in Spain.And it would be better, to translate comments to English.
go to post Dmitry Maslennikov · Apr 16, 2018 I would recommend to use more suitable class for it. %Stream.FileCharacter when you can set TranslateTable property Set stream=##class(%Stream.FileCharacter).%New() Set sc=stream.LinkToFile("c:\myfile.txt") Set stream.TranslateTable = "UTF8" While 'stream.AtEnd { Set line=stream.Read() ; Process the chunk here } And you don't need any conversions after that
go to post Dmitry Maslennikov · Apr 16, 2018 It looks like you are going the wrong way. If it fails if even classes have not changed and have not recompiled. Could you show exact error, which fails to run your reports? I think, the issue may be in SQL cache, so, you can try to purge it Do $SYSTEM.SQL.Purge()