Progress ABL = SQL?

Posted by Nigel Allen on 03-Jun-2015 00:23

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.

All Replies

Posted by Mike Fechner on 03-Jun-2015 00:33

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.

Posted by Nigel Allen on 03-Jun-2015 00:39

My remembrance exactly - thanks Mike.

Posted by Mike Fechner on 03-Jun-2015 00:58

Not exactly SQL ....

Posted by James Palmer on 03-Jun-2015 02:19

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.

Posted by ChUIMonster on 03-Jun-2015 05:47

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.


Posted by Brian K. Maher on 03-Jun-2015 06:12

 
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).
 
 
 
 
[collapse]
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.

[/collapse]

Posted by gus on 23-Jun-2015 08:52

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.

Posted by TheMadDBA on 23-Jun-2015 09:04

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

This thread is closed