Search results

  1. G

    Question Performance loss due to Temp-Tables

    Damn. I should have tried it before opining. Here's from a quick test I ran on one of our Unix servers: 1. Run calc.p 60,000 times with no TT definitions or other work: 1.6 seconds 2. Run calc.p 60,000 times with a simple TT definition, 6 fields and an index: 3.9 seconds. So, I'm slightly...
  2. G

    Question Performance loss due to Temp-Tables

    I'm kind of confused by your post, but in case this helps: 1. I don't think the time taken to run calc.P should be any different if you were to remove the TT entirely and just run calc.P 60,000 times. 2. Of course any work you do inside calc.P including defining TT's will slow things down; but...
  3. G

    Compile .p file on linux

    1) Check your PROPATH setting (it's accessible from inside any Procedure Editor, usually set from an environment variable, but can be manipulated directly). Defines where Progress looks for .i files, similar to CLASSPATH in Java. 2) Make sure you have read permission on everything. There is no...
  4. G

    Question Any way to manage/track handle/object variable ?

    Progress' error messages, and especially not consistently including file names and line numbers ... easily one of the worst things about Progress. Things like -debugalert don't help when you're looking at an end-user screen shot and CATCH doesn't help when it's 20 year old code running in 10.2...
  5. G

    CAN-DO

    I don't totally follow your question but I do not believe there is any no notion of "pushing" between client and server-side based on use of CAN-DO. I think of CAN-DO mostly as a string comparison function and I would no more expect "pushing" between client & server than I would with SUBSTR or...
  6. G

    Comment Fun Friday File Function

    I would like to use this function, but it is clearly completely and hopelessly broken, as evident by its use of UPPER CASE keywords ;)
  7. G

    Input from different files (simultaneously)

    You definitely want to be using one stream per file (that you want to read simultaneously). I can't explain why either example would trigger an infinite loop. I believe the standard behaviour is that when EOF occurs, the REPEAT automagically exits. I have seen my share of infinite loops, but I...
  8. G

    Top 10 Progress database facts required.

    Well, you said 'database' specifically, but IMO that misses the point. Progress as a database is pretty uninteresting*. IMO what's interesting (and fairly unique) about Progress is that the language is 'schema aware', which means you can dispense with all that ORM nonsense that (for business...
  9. G

    Program Stack

    IMO, you shouldn't control that sort of thing based on program names. Instead you should use some kind of 'client_type' or 'alerts_required' flag (passed from the client to the AppServer) to indicate the behaviour that each client expects. In the end, it amounts to pretty much the same thing...
  10. G

    Program Stack

    Somewhat related question: from inside ActivateProcedure, does anybody know of a way to find the name of the procedure that is about to be executed, eg. the one that the AppServer client did a RUN ON SERVER of in order to trigger ActivateProcedure? I know there is CURRENT-REQUEST-INFO in v11...
  11. G

    Question Progress 11 Editing Tools

    or the code generated by the app builder We can certainly agree on this one! Actually, "code" and "generated" seem like two words that are usually paired with bad results ;) (Results - pun intended).
  12. G

    Question Progress 11 Editing Tools

    Nothing shouts BAD CODE quite so loudly as uppercase keywords. Ha! See, I feel the exact opposite. Maybe its a Canada-US thing, like Tim's vs. Dunkin'. Perhaps we could agree that nothing shouts BAD CODE so loud as random variation of keyword capitalization preference? FOR each Order where...
  13. G

    Total Noob to Progress - Need help with tools

    Does this imply the possible existence of TWO Tom Bascom's? We could get people off v9.1D twice as fast!!! I'm not all that strong on triggers, so either version of Tom Bascom can correct me ... but I *think* .. unlike "regular SQL", Progress DB triggers run client-side ... which means (I...
  14. G

    Open 4GL webservices

    Hola tambien, lamentablemente mi Espanol no es suficiente bueno para preguntar sobre Progress, asi que... I just skimmed your site quickly, but this caught my eye: "this version doesn't require Sonic MQ or the AppServer to run properly" So how do you execute ABL? I am guessing, you have a...
  15. G

    Question Long Transaction Problem

    I tried the Profiler a couple of years ago, and I was disappointed by my inability to reconcile its numbers with reality. Specifically, it indicated some big time gaps which brick-teeth-brushing did not, and since brick-teeth-brushing is so simple, I trust it more. Given enough toothpaste, it's...
  16. G

    Tracking Reads by ROWID

    Well if you really want to know ... Like everyone else I suppose, we have some core functions that call dozens of programs and update dozens of tables. Some of that code goes way back to Reagan era, so it's rarely changed and unfamiliar to many. So when faced with changing some areas, of...
  17. G

    Tracking Reads by ROWID

    After poking around a bit I realized, you can put a bunch of 'ON FIND OF orders' type statements at the start of the session, those seem to capture everything that happens after that with no schema or downstream code changes. The term 'FIND' is misleading; it works for FOR EACH and dynamic...
  18. G

    Tracking Reads by ROWID

    It's not so crazy, MSSQL and Oracle both support this (although I don't know how well). I knew a guy who worked for the income tax people and apparently they audit all reads, eg. to prevent even DBA's from going and looking up your brother-in-laws tax files without good reason (although, that...
  19. G

    Tracking Reads by ROWID

    Non-production code-research/analysis/debugging/testing type purposes ... thanks for the reply :)
  20. G

    Tracking Reads by ROWID

    We are discussing a scenario where we want to be able to log all database *reads* down to the level of the particular ROWID (eg. we want to be able to generate a report that lists every ROWID that was read during a given session). We want to be able to do this without changing schema or...
Back
Top