[progress Communities] [progress Openedge Abl] Forum Post: Re: When/why Does Abl Client...

Status
Not open for further replies.
G

gus bjorklund

Guest
Compiled r-code (4GL bytecode) contains details of the record layouts, data types, etc. that are derived from the schema tables when a program is compiled. For example, a reference to a field by name in a record results in r-ccode that means “extract field n” at runtime. This is so that the name does not have to be looked up over and over again when the program is executing. If the schema changes after the program is compiled, it wont work anymore. The table and index crc's take care of detecting that. The shared schema lock prevents (most) schema changes when a compiled program is executing. It might have been better to have individual schema locks for each table, but that would require acquiring more (maybe many more) locks before a program could start executing and that would increase time for the run statement to actually begin executing a procedure.

Continue reading...
 
Status
Not open for further replies.
Top