Hi,
If I have one entity in a producer module set to public and the expose Read-only property set to 'Yes', can the consumer module modify the data using an SQL advance Query? If so, how can I protect against this?
It cannot modify. You can even try that: create a simple SQL query just for updating the table in another module and test... It will say that the entity is read-only.
This is an interesting question!
I tried to go the extreme on this by copying the actual table name (e.g. OSUSR_0W2_ENTITY1) and crafting my insert statement inside a expand inline query parameter so that it would not block my query at compile, but outsystems checks for this even at runtime!Safety!
Actually,
I think a saw in the past ways to get passed that particular check, but not for beginners and it would really show intent.
So can developers accidentally do this against architecture, no, can somebody get passed it with intent, yes, I think so.
Dorine