Paul's presentation on One-DB
Posted in 2023
Jacob Salomon praised Paul's One-DB talk and asked about a scripting language like PL/SQL. Art Kagel said SPL has loops and cursors but only inside stored procedures, not standalone scripts. Paul Watson and Art said OneDB and Informix are interchangeable apart from client layers; DBD::Informix connects to OneDB. The slides went on the IIUG YouTube channel.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: Stored Procedures & SPL
Great presentation there, Paul. Of course you only barely scratched the surface. Will the slides be made available for downloading? Also, I don't recall seeing any slides related to features on One-DB missing in IDS, planned or already in place. What kind of superset would it be without additional features. Here's one feature I have not seen in IDS: A scripting language to match Oracle's (hiss! boo! ;-) PL/SQL, with looping and calling constructs. SPL just doesn't cut it because it must be compiled into the database. Or does it already exist but I've been away too long? +----- Jacob Salomon -- jakesalomon@yahoo.com -------------------------+ | The first lesson of economics is scarcity: there is never enough of | | anything to fully satisfy all those who want it. The first lesson of | | politics is to disregard the first lesson of economics. | +--------------- Thomas Sowell (Is Reality Optional?::Student Loans) --+
Jacob: SQL does indeed contain FOR, WHILE, and generic LOOP constructs. It also includes PREPARE, DECLARE cursor, EXECUTE, FETCH, CLOSE, etc. It is even delivered with the Compatibility bladelet that includes file IO functions that you can install. So, yes, not as powerful as Oracle's PL/SQL, but pretty good now. As for what will be in OneDB v3.0.0.1, it has not been definitively announced yet and so not set in stone. At this point it is expected to be minor things like the better support for Kubernetes and other Cloud packaging as Brian spoke about, support for the latest .NET protocol and other APIs. ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
Art, I've never seen these features discussed with regard to dbaccess. I am searching the 1400-page SQL Programming Manual for the word "foreach" (and found it) as well as
continue
and
exit loop
statements
but those all are still within the context of a stored procedure.
Can I write an SQL script containing foreach loops, and prepared cursors as an independent script, not only within a stored procedure? I didn't get that impression from this manual.
Or am I just looking in the wrong manual?
The should be on the IIUG site at some point. As the moment I am not aware on 14.10.latest and OneDB 2.latest having any functional differences. The client layers are different though. If you don't want to compile into the engine you could use 4gl and the Aubit compiler ?
No, Jacob, you are correct. Those constructs are only available within a stored procedure. ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
This presentation is now available on the IIUG Youtube channel: https://www.youtube.com/watch?v=SEB8c5Oqozc ------------------------------ Cindy Lichtenauer ------------------------------
Hi, So why are they not interchangeable if the base Informix versions match? Regards, David. ------------------------------ David Williams ------------------------------
After all this, I just realized an important (to me, anyway) detail that I had overlooked: I am a heavy user of Jonathan Leffler's great contribution, the Perl module DBD::Informix. When you install this module it compiles a bunch of ESQL/C components. I don't know if Jonathan monitors this forum but it would be a great boon to adapters of OneDB if he could establish a compatibility of his opus with OneDB. Or create a port of his module as DBD::OneDB. Are the existing binary components of ESQL/C portable to OneDB? We've already been told that binaries cannot be plunked into running OneDB applications; they would require recompiling. +----- Jacob Salomon --------------------------------------------------+ | The first lesson of economics is scarcity: there is never enough of | | anything to fully satisfy all those who want it. The first lesson of | | politics is to disregard the first lesson of economics. | +--------------- Thomas Sowell (Is Reality Optional?::Student Loans) --+
It's just an application so should just work, I have not compiled it with OneDB CSDK but with Informix CSDK it will connect to OneDB Cheers Paul Paul Watson Oninit LLC +1-913-387-7529 www.oninit.com Oninit® is a registered trademark of Oninit LLC
Thank, Paul. Good to know. I suppose that instead of: we would use: +----- Jacob Salomon --------------------------------------------------+
Jacob: No, you would continue to use the same connection string: $dbh = DBI-> connect ( "dbi:OneDB:$database" ); Art ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------
David: Not sure what you are asking. You can truly replace Informix with OneDB and anything that could connect to and use Informix can use OneDB. So, completely interoperable. Even ER will cluster one to the other (though HDR/RSS/SDS will not). Paul's point was that one should not expect to be able to switch back and forth from one to the other willy-nilly. Pick one and stick to it. You can convert from IBM Informix to OneDB no problem and if it doesn't work out for you, after a short time, and if you do not take advantage of any OneDB features not supported by IBM, you could switch back. But that's it. Art ------------------------------ Art S. Kagel, President and Principal Consultant ASK Database Management Corp. www.askdbmgt.com ------------------------------