go to post Dmitry Maslennikov · Aug 23, 2017 This possibility is not alone, it is also possible to have more than one or two databases for one namespace.There is also mapping, for globals class packages and routines.One of the reasons to use it is to split different parts of applications. For instance:Let's say, you are a software developing company. Mostly it is enough to deliver to your customer only your compiled code, and it is easy to do it with CACHE.DAT, while a customer has database only with data. So, an update should be quite easy in this case, replace cache.dat, call some update code if needed.Or, you have one application, but should have different data, by some reasons. You can use one database with code, in multiple namespaces. But each namespace will have different databases for Data.With mapping, you have more flexibilities, like split your code in different databases. If you deliver your code to the customer but gave permission to extend some functionality. In this case, you can put customer's code to another database. Or you can split data to get better performance. If you would have so much count of writing to your database, you can split this data and place this database files to different hardware discs, you may get better writing speed. Or even some part of data in a namespace can be stored on another server and connected through ECP.So, I can say that even could be more reasons to split data in databases. And always it depends on a project and needs.You should read this article in the documentation about mapping to get more information about it.
go to post Dmitry Maslennikov · Aug 20, 2017 Every event where I was last time, Global Summit, German Symposium, Evegeny used to promote Developer Community very well. And not only DC but also advertised some open-source projects which are developed on Caché with some support from InterSystems.I have one more idea, how about to highlight people who made so much for Developer Community, by overall rating or by just last year, no matter. And everybody may see that those people could be useful to answer some questions. Or just for making personal contacts. I know that some of the leaders of DC, already know each other in person, but DC community is growing so fast, and more people joined with their own very useful knowledge. What do you think?
go to post Dmitry Maslennikov · Aug 14, 2017 And which Caché version are you using?%VID appeared since 2011.1.
go to post Dmitry Maslennikov · Aug 14, 2017 I fixed formatting in your post a little bit just to look it more clear and prettier.But noticed WHERE% VID instead of WHERE %VID, and AND% VID instead of AND %VID . And decided that it was an formatter error, which I used, but looks like it was in original SQL as well. So, can you add error message? For me, the first query should work, while next one will not work, because %VID will not exist.
go to post Dmitry Maslennikov · Aug 8, 2017 With links to the original documentation, I think it may become more useful.GOTO and DONot so good practice to use GOTO in a code, but could be quite useful, when you, for example, debugging through terminal, you can resume execution after BREAK.
go to post Dmitry Maslennikov · Aug 8, 2017 CSP on, can be used either in Directory or Location directive. But you should remember the difference between them. Directory point to the physical path, while Location works with URL. As well as also possible to use DirectoryMatch and LocationMatch, which supports regex.But with CSP on, all requests will be sent directly to CSPgateway and then to Caché. And if something not working you should check CSPGateway, sometimes it needs to be restarted, usually all parts (depends on configuration, and plus CSPnsd), after some changes in list of CSP Applications
go to post Dmitry Maslennikov · Aug 8, 2017 Directory tag should point to the directory on the server, where you files are located. And you also should have defined Alias directive, which should say which physical directory should be used for particular web path Alias / /srv/www <Directory /srv/www> ... </Directory>
go to post Dmitry Maslennikov · Aug 8, 2017 Why do you think that it may help you? Do you know how much data in your database?As 5.0 is so old I even not remember how to check the actual size of data in the Database. But I think you can do the integrity check, and in this report, you will have this information in last rows.And then if you will have less than 10-20% of free space, I think it will not be needed for you. And with this report, you can see how big all globals in this database, and if some useless globals may be unexpectedly exists or have unexpected size. If so, you should check your code, why it could happen and remove it, so you can increase free space, which can be used then for grown useful globals.If you will have so much free space, which you want to free, you can use ^GBLOCKCOPY, to copy all or only useful globals to the new database.
go to post Dmitry Maslennikov · Aug 7, 2017 Open regedit.exe, go to this pathHKEY_CURRENT_USER\Software\InterSystems\Cache Studio\DocumentsWhen you can find folders by name of server and namespace. And by project name.You can just remove this project's folder, and start studio again.
go to post Dmitry Maslennikov · Aug 7, 2017 Please provide some more details. Such as codepage of your output texts, version of cache (unicode?), font in terminal, is it cterm or not.Codepage for your text, I suppose that you use CP866. Nowadays I would recommend converting to Unicode.
go to post Dmitry Maslennikov · Aug 1, 2017 As far as I know .abf file format, it is just backup for MSSQL Databases. So, It is not possible and will not possible in any way. And all this conversion will not be such easy. And you should understand that Cubes, that not about data before you should migrate all the data, and create new cubes in Caché with knowledge about, how it was in MS SQL.
go to post Dmitry Maslennikov · Aug 1, 2017 Do not forget to mark the answer as accepted, if you this so.
go to post Dmitry Maslennikov · Aug 1, 2017 So, now it's time to choose one of the answers as accepted.
go to post Dmitry Maslennikov · Jul 25, 2017 Just one file should be changed for it, and it is less than an hour of work.
go to post Dmitry Maslennikov · Jul 24, 2017 I think it even works without any COS code, just like any other system functions. And they have more than just only IsMthd.
go to post Dmitry Maslennikov · Jul 24, 2017 Check if method %New exists with this function $system.CLS.IsMthd(ClassName, "%New")
go to post Dmitry Maslennikov · Jul 24, 2017 Look at my project, where I have almost the same idea. Sending static files for the web application from a folder or from XData element if present.
go to post Dmitry Maslennikov · Jul 24, 2017 When WebSocket initialize connection from the client side, the server should create a process, which will do any work for this client/s. But this connection should stay alive, that's needed by the standard. And Async, in this case, means, that any side of this connection, client or server can send a message at any time, when it needed. While another side should be ready to get this message and send or not some response. But this response, not the same as it could be in plain HTTP, it should be as any other messages if it was initiated by own.
go to post Dmitry Maslennikov · Jul 19, 2017 In what time you getting this error? Just by reading one by one rows? If you would use the same query multiple times with the same amount of rows, the error will happen after the same count read rows?
go to post Dmitry Maslennikov · Jul 18, 2017 You have two ways, query fewer rows at once. Or switch to a newer version of Caché, since version 2012.2 available much more memory per process, and by default 256Mb.