What does this error occur?
I am getting the following error when trying to fect data from DeepSee:
"Error":"ERROR #5002: Cache error: <PROTECT>%Construct+3^%DeepSee.ResultSet.1 ^DeepSee.Cache.LocalResults(\"session\"),e:\\hs-db\\tfoms\\"
However, I cannot find the place this error points me to.
Specifically, it says 'Label %Construct + 3 lines, in the %DeepSee.ResultSet.1', but there does not seem to be such a place. I could only find the %DeepSee.ResultSet class and it does not have a lable named %Construct.
Product version: Caché 2018.1
The database your data is written to is mounted read only or write protected for the user you are running the database engine (write deamon) with
Evgenli
When a label begins with % it is often a sign that it is something that has been generated as part of the class compilation process.
In this case %Construct is the generated constructor code for the class. More specifically, if any property in your class definition has an initial value specification then the %Construct code will be generated in your .int routine and will initialise the values of these properties.
By default, the .int code for the class %DeepSee.ResultSet.cls will not be present on your system, but you can create it by recompiling this class with the k flag which indicates that .int code should be kept.
Once you have re-compiled this class then you should be able to inspect the .int code and locate the line that is responsible for your <PROTECT> error.
When executing a query, DeepSee will store intermediate and final results in the cache globals. As the engine was trying to create a new session, it looks like it could not access the database in e:\hs-db\tfoms\. Either this database is mounted read only (in this case you will need to create some DeepSee mappings) or the user executing the query does not have r/w permissions on this database.
Thank you. It would never occur to me that I need to grant the user WRITE permission to fetch data from DeepSee.