D
dbeavon
Guest
Would like to use QUERY-PREPARE or similar API to build SQL-based result set to be consumed in ABL. For some additional discussion, see : https://community.progress.com/community_groups/openedge_development/f/19/p/22948/80429#80429 The implementation may do something internally that is analogous to shelling to the OS, and running "sqlexp", and returning back ROWID's. Considering the complexity of integrating CRUD transactions across the ABL/SQL92 worlds (ie. totally different brokers, locking technologies, isolation level support, etc), the implementation would probably only support uncommitted reads (NO-LOCK). And the ABL client of this API would be responsible for handling the ROWID's and re-acquiring appropriate share/exclusive locks on the related records. This type of API would probably fall short of a full-fledged ODBC client (ie. we're not interested in buying "dataserver" to connect back to our own SQL92 broker). But the API would obviate a need for an ABL developer to build their own query optimization engine (whether they are contemplating an elaborate cost-based engine of their own, or even a simple/situational rule-based one like a conditional path that alternates between two different FOR EACH statements with different outer loops, depending on the predicates). Long ago we had SQL89 built into ABL but at some point it was deprecated with nothing to fill its place. This would be analogous to SQL89 with dynamically generated (cost-based) query plans.
Continue reading...
Continue reading...