SQL89 and server-side joins

Posted by dbeavon on 27-Jan-2020 02:25

I was recalling SQL89 the other day, and wondered if anyone here is familiar with how it worked.

For example, I'm wondering if it worked over client-server connections.  Did it send the entire SELECT operation to the server to evaluate and process?  Or did it transform the SQL into some sort of ABL program that ran predominently on the client side of things?

Given that Progress is currently spending lots of time on ssj, I'm curious to know if they already had already done some of this work back in the days of SQL89.  There aren't very many KB articles that describe SQL89, for better or worse.  

For example, here one of the few articles:


It has a thorough discussion of the performance differences between SQL89 and SQL92.

All Replies

Posted by Fernando Souza on 27-Jan-2020 15:06

SQL-89 was executed like a FOR EACH by the client, so, no, the join was not resolved on the server. This is the first time we are addressing server-side joins from ABL clients.

Posted by dbeavon on 27-Jan-2020 16:11

>>  This is the first time we are addressing server-side joins from ABL clients.

OK, that's what I thought.    I had never tried client-server back in those days, so I thought I'd ask.

Posted by gus bjorklund on 27-Jan-2020 17:26

The 4GL compiler also compiler the SQL-89 statements. That is why you can mix 4GL and SQL-89. The SQL statements are compiler into r-code and then executed in the usual way by the 4GL runtime. A few of the r-code operators are used only by SQL-89.=

This thread is closed