For my DataDigger I would like to know how it behaves when run in a runtime or query-runtime environment. Problem is I only have a full version of Progress installed. I recall that there is a startup option to let a full version run as a runtime or query version. Is there such a thing and if it is, what is it?
That is -rr that you are looking for
community.progress.com/.../4265.dpspr.pdf page 3-4
Greetings from Jan-Willem de Width (my neighbor) who looked it up.
--
Kind regards,
Stefan Houtzager
Houtzager ICT consultancy & development
www.linkedin.com/in/stefanhoutzager
On a related note, what is the difference between -rr and -rg? Their descriptions are quite similar to me.
-rr is the Run-time client. It can't compile ABL code or make schema changes. -rg is the full ABL client. It can compile ABL code and make schema changes. There's also the Query client (-rq) which can compile ABL code which doesn't update data, can't make schema changes, and can't update records in a database.
Client | Can compile | Can change schema | Can update data |
Run-time (-rr) | No | No | Yes |
ABL (-rg) | Yes | Yes | Yes |
Query (-rq) | Yes* | No | No |
* Can't compile code which contains statements which update data.
Thanks for that detailed explanation Matt. It would make a great addition to the docs. :)
For completeness, I'd also point out:
Encrypted Compiler Mode (-rx)
Use Encrypted Compiler Mode (-rx) to enable query or run‑time OpenEdge clients to compile encrypted source code and access the Data Dictionary to manage schema (for example: for security management and to dump or load .df files).
Requirement that code is encrypted would put it between -rr and -rg in terms of restrictions
If more than one of these parameters is specified, are their restrictions logically ANDed?
E.g. "_progres -rr -rg" can update data but can't compile or change schema?
Also, I'm not yet clear on -rg; it doesn't seem to impose any restrictions. So if I have a development product installed, how does "_progres" differ from "_progres -rg"?
If you specify more than one of them you get the last one you specified. The restrictions are not ANDed.
I'm not sure there is much point to -rg. If you are licensed to use the full ABL client you can use it without -rg. You don't get anything more by specifying -rg. You also can't override the restrictions if you're not licensed to use the full client. For example, if the license is a run-time only license (Client Networking is one example, I think) starting the client with -rg won't turn it into a full client. You'll get an error saying that you're not licensed to use -rg.
But, surely that isn't entirely true, Matt. Aren't some of them intended to provide a limited extension, like -rx?
-rx doesn't extend any of the other parameters. It overrides them. In fact, it is the strongest override - it will override ones that come before it or after it. -rx lets you compile encrypted code but it can't retrieve data from a database. It's meant to be used to compile encrypted ABL code to r-code. You then run the r-code without -rx.