Search results

  1. G

    Transactions

    They (crazily long transactions) also prevent .bi files from being recycled, which can lead to DB crashes if you run out of disk space or exceed the 2GB limit. I think the notion of keeping transactions as small/short as possible is one of the (few?) things that every experienced Progress...
  2. G

    Dynamic Table Dump

    I'm interested in the claim that dynamic anything is 4-5x slower than static. I benchmarked this (not with export though) in the past and found a < 5% difference. That was many versions ago, though, plus, I probably didn't do it super-carefully. I'm wondering if RHD has any knowledge of this?
  3. G

    Question Why Progress 4GL? Do we have a comparison study?

    There is plenty to not like about Progress, but it's an enduring mystery to me why the central idea - that one language can implement both business logic and data manipulation, and that the compiler understands all about the database schema - hasn't taken root in the OSS world (which is in most...
  4. G

    "Error occurred when compiling validation expression"

    If I may, I believe the correct quote is: " It makes a good demo. At least, it did in 1985." That's been stuck on my cube wall since you (TomB) posted it a few years back. The biggest obvious flaw of validation expressions is that they are not applied to programmatic ASSIGN statements, only to...
  5. G

    Confused on Record Bleeding

    I hope TomB is all right ... as soon as he reads this you can expect a complete explanation ! Maybe he's too busy getting ready for PUG. There's a KB entry which the way I read it specifically states that -brl should cause this behaviour, and implying that without -brl, it shouldn't happen. I...
  6. G

    Confused on Record Bleeding

    Hmmm, I expected multiple educated replies on this already. I tried this and was surprised to get the same answer you did. I thought this was only supposed to happen if you used -brl, but we don't. In real life, I have never had problems with this (at least, not that I am aware of) probably...
  7. G

    Question OOABL, How do I inherit multiple classes?

    Thanks a lot for taking the time to reply. Interesting.
  8. G

    Dynamic Temp-table

    I'm not exactly sure what you are asking. But I'll give it a shot: 1. I would imagine that LOG_TABLE is a generic procedure that will take any table with any arbitrary combination of data types in it and write its contents out to some log file. LOG_TABLE would not have any hard-coded, aka...
  9. G

    Question OOABL, How do I inherit multiple classes?

    I don't mean to badger you ... but since you obviously know your way around ABL OO and I don't at all, care to answer: 1) What's your aversion to DB IO inside statics? I have no experience of this and am genuinely curious. In JavaLand, I don't see why it is necessary bad, so maybe it's an...
  10. G

    Question OOABL, How do I inherit multiple classes?

    A few posts back, you stated that Progress supports multiple inheritance (not just multiple interfaces), whereas the most recent documentation seems to indicate this is not so. So I was wondering if you knew of some trick to make MI work. I was interested because so few languages support MI and...
  11. G

    Question OOABL, How do I inherit multiple classes?

    @tamhas, ' ABL *does* allow multiple interfaces per class and even multiple inheritance in sufficiently modern versions', may I ask which versions or if there is some special syntax? This is the syntax definition from the most recent documentation that I can find on progress.com. CLASS...
  12. G

    Dynamic Temp-table

    You asked this exact same question last week and at least two of us answered it. But I'll try again. 1. We have a generic 'log the contents of any table' procedure. So you can run it like 'RUN log_table(foo)', where 'foo' is a handle to a buffer or dynamic table, and 'log_table' dynamically...
  13. G

    Buffer

    Ha, it never occurred to me that you could do that. I would have expected a syntax error. I don't know how you could even tell which buffer is being used. Maybe it's actually the same one and the DEF BUFFER does nothing. I think this probably falls into that general category of things you CAN...
  14. G

    Buffer

    In your example, the buffer is indeed useless. But here is a made-up example of where it would be useful, and this kind of thing comes up all the time: FOR EACH customer: /* This will get a different customer, without affecting the customer referenced by the FOR EACH */ FIND b-cust1...
  15. G

    Question New to Progress Databases and need to know if I'm doing this right

    I don't really understand this question, but if I were faced with converting a table with 10 million rows and 200 columns... the 200 columns would not faze me at all. The 10 million rows would only faze me if I was exporting to text files (which I assume you are) and said files were likely to...
  16. G

    Question OOABL, How do I inherit multiple classes?

    I just finished a C++ course, which is the only language that I know of (I'm sure there are others that I don't know of) that supports multiple inheritance. After learning about the issues involved, for sure it seems like not supporting it is the right choice, language-design wise!
  17. G

    Handle

    "then why to associate handle with dynamic object because most of the properties and methods are accessed via static objects" We use these scenarios a lot: 1. You have a program loaded with business logic to do something like route orders or calculate interest. It needs to be intimately aware...
  18. G

    Question Recommended method of passing an arbitrary number of parameters to a constructor?

    I think this is a great idea and I have been wishing for a while now that we used this pattern. I mean, the idea of a minimal constructor, followed by setting properties, followed by validating the result before using it. ... but for sake of argument, does this not violate your rule of 'never...
  19. G

    CAN-DO

    The reason nobody else has answered this yet is because while CAN-DO can function as a shorthand for "OR" with a comma-delimited list, doing so is so reviled, most ProgressTalkers can't bring themselves to respond. Some might say that it's worse than USE-INDEX, or being on Version 9, or creating...
  20. G

    Question For Each {1} - Pass table name as argument

    Tom's example uses a table name in a variable ('tbl'), but it's dynamic. To do the same type of thing statically, yeah, you have to do some kind of old-school include-parameter thing as in the OP's example. BTW, I hesitate greatly to impugn RHD's response in any way, but we do this all over the...
Back
Top