Progress ABL = SQL? - Forum - OpenEdge General - Progress Community
 Forum

Progress ABL = SQL?

  • Greetings

    Just had an interesting "discussion" with a colleague of mine.

    He insists that when you run a progress query from the tram tracks, such as

    for each customer no-lock:
       display name.
    end.

    Progress converts the query to SQL before running it.

    I argued that it did not - that it run native code and if in fact you entered a sql query, that would be converted to native code before running.

    Any input from the cognescenti (that I demonstrably prove) would be gratefully accepted - I could be quids/beers in here!

    Nigel.

  • It will only translate it into SQL, when running against a SQL data server (Oracle, ODBC, ...).

    For the OpenEdge DB this is not done. The proof would be Gus' shirt from a few years back with the C source code of for each customer.

    Von meinem Windows Phone gesendet

    Von: Nigel Allen
    Gesendet: ‎03.‎06.‎2015 07:24
    An: TU.OE.General@community.progress.com
    Betreff: [Technical Users - OE General] Progress ABL = SQL?

    Thread created by Nigel Allen

    Greetings

    Just had an interesting "discussion" with a colleague of mine.

    He insists that when you run a progress query from the tram tracks, such as

    for each customer no-lock:
       display name.
    end.

    Progress converts the query to SQL before running it.

    I argued that it did not - that it run native code and if in fact you entered a sql query, that would be converted to native code before running.

    Any input from the cognescenti (that I demonstrably prove) would be gratefully accepted - I could be quids/beers in here!

    Nigel.

    Stop receiving emails on this subject.

    Flag this post as spam/abuse.

    Architect of the SmartComponent Library and WinKit

    Consultingwerk Ltd.

  • My remembrance exactly - thanks Mike.

  • Not exactly SQL ....

    Architect of the SmartComponent Library and WinKit

    Consultingwerk Ltd.

  • Not another one. I got hit with that one at a non-Progress job interview. The interviewer was adamant that as a 4GL it must get interpreted into SQL and Java.

  • You could always offer the embedded SQL as proof that the 4gl obviously does no such thing — if it did then surely that SQL syntax would be more capable.

    Also — if the 4gl engine knew anything meaningful about SQL wouldn’t it seem reasonable that 4gl triggers and SQL-92 triggers might cooperate?

    You are right.  Your colleague is strangely deluded.  I suspect an education where the only possibility for data access is SQL.  Probably a kid fresh out of school.  Certainly not an old fart who recalls the days when SQL was a bad idea gaining traction for all the wrong reasons while the 4gl was a shining beacon of reason and effectiveness.  Friends don’t let friends write SQL and the 4gl does not translate awesome 4gl goodness to some sort of horrific SQL fuster-cluck prior to execution.


     
    On Jun 3, 2015, at 1:24 AM, Nigel Allen <bounce-prosmart@community.progress.com> wrote:

    Thread created by Nigel Allen

    Greetings

    Just had an interesting "discussion" with a colleague of mine.

    He insists that when you run a progress query from the tram tracks, such as

    for each customer no-lock:
       display name.
    end.

    Progress converts the query to SQL before running it.

    I argued that it did not - that it run native code and if in fact you entered a sql query, that would be converted to native code before running.

    Any input from the cognescenti (that I demonstrably prove) would be gratefully accepted - I could be quids/beers in here!

    Nigel.

    Stop receiving emails on this subject.

    Flag this post as spam/abuse.


    --
    Tom Bascom
    tom@wss.com

  •  
    We don't convert ABL to SQL for stuff against an OpenEdge database.
     
    For DataServers, the ABL does get translated into SQL which gets passed to the external (non-OpenEdge database).
     
    In the Procedure Editor, when you use the old (ancient but still there) SQL commands they are not converted to ABL (as far as I know).
     
     
     
     
    From: Nigel Allen [mailto:bounce-prosmart@community.progress.com]
    Sent: Wednesday, June 03, 2015 1:24 AM
    To: TU.OE.General@community.progress.com
    Subject: [Technical Users - OE General] Progress ABL = SQL?
     
    Thread created by Nigel Allen

    Greetings

    Just had an interesting "discussion" with a colleague of mine.

    He insists that when you run a progress query from the tram tracks, such as

    for each customer no-lock:
       display name.
    end.

    Progress converts the query to SQL before running it.

    I argued that it did not - that it run native code and if in fact you entered a sql query, that would be converted to native code before running.

    Any input from the cognescenti (that I demonstrably prove) would be gratefully accepted - I could be quids/beers in here!

    Nigel.

    Stop receiving emails on this subject.

    Flag this post as spam/abuse.

  • right, brian. obsolete sql-89 statements in the procedure editor (or in a .p file) are compiled by the 4GL compiler and converted to r-code, same as 4GL statements are. you can mix the two and use them at the same time.

  • Kids these days just don't appreciate C code for data access