Why not just let the RPG team extract the SQL statements and
pass the SQL statement to functions written by the SQL Team?
Please tell me if I'm reading too much into your question, but based on some of your earlier comments I gather that you're somewhat repulsed by the compiler generating traditional program calls to perform functions like "fetch", which might be called thousands of times when reading a cursor, where procedure calls would be more efficient.
For comparison purposes, you could look at the procedures exported by QRNXIO, when you code "F" specs and RLA op codes. The compiler evidently generates code to call the following:
_QRNX_OPEN
_QRNX_CLOSE
_QRNX_FEOD
_QRNX_POST
_QRNX_PRT_WRITE
_QRNX_WS_ACQ
_QRNX_WS_CHAIN
_QRNX_WS_EXFMT
_QRNX_WS_READ
_QRNX_WS_READC
_QRNX_WS_REL
_QRNX_WS_UPDATE
_QRNX_WS_WRITE
_QRNX_COMMIT
_QRNX_ROLBK
_QRNX_DB_CHAIN
_QRNX_DB_DELETE
_QRNX_DB_READ
_QRNX_DB_READE
_QRNX_DB_READP
_QRNX_DB_SETLL
_QRNX_DB_UNLOCK
_QRNX_DB_UPDATE
_QRNX_DB_WRITE
_QRNX_RAF_READ
_QRNI_IO_EH
_QRNI_PRT_PUT_EH
_QRNI_COMMIT_EH
_QRNI_ROLBK_EH
_QRNI_DB_GET_EH
_QRNI_DB_READE_EH
_QRNI_DB_SETLL_EH
_QRNI_DB_CHAIN_EH
_QRNI_DB_DELETE_EH
_QRNI_DB_UPDATE_EH
_QRNI_DB_WRITE_EH
_QRNI_ACQ_REL_EH
_QRNI_WS_CHAIN_EH
_QRNI_WS_EXFMT_EH
_QRNI_WS_READC_EH
_QRNI_WS_WRITE_EH
_QRNI_WS_UPDATE_EH
_QRNI_CLOSE_EH
_QRNI_OPEN_EH
_QRNI_RAF_EH
_QRNI_WS_READ_EH
_QRNI_FEOD_EH
What if the compiler generated code that called SQLCLI functions?
SQLAllocConnect
SQLAllocEnv
SQLAllocHandle
SQLAllocStmt
SQLBindCol
SQLBindParam
SQLCancel
SQLCloseCursor
SQLColAttributes
SQLColumns
SQLConnect
SQLCopyDesc
SQLDescribeCol
SQLDisconnect
SQLEndTran
SQLError
SQLExecDirect
SQLExecute
SQLFetch
SQLFetchScroll
SQLFreeConnect
SQLFreeEnv
SQLFreeHandle
SQLFreeStmt
SQLGetCol
SQLGetConnectOption
SQLGetCursorName
SQLGetConnectAttr
SQLGetData
SQLGetDescField
SQLGetDescRec
SQLGetDiagField
SQLGetDiagRec
SQLGetEnvAttr
SQLGetFunctions
SQLGetInfo
SQLGetStmtAttr
SQLGetStmtOption
SQLLanguages
SQLNumResultCols
SQLSetEnvAttr
SQLSetParam
SQLSetStmtAttr
SQLSetStmtOption
SQLSpecialColumns
SQLStatistics
SQLTables
SQLTransact
SQLExtendedFetch
SQLBindParameter
SQLDataSources
SQLDescribeParam
SQLForeignKeys
SQLGetTypeInfo
SQLMoreResults
SQLNativeSql
SQLNumParams
SQLPrimaryKeys
SQLProcedureColumns
SQLProcedures
SQLDriverConnect
SQLGetLength
SQLGetPosition
SQLGetSubString
SQLBindFileToCol
SQLBindFileToParam
SQLParamOptions
SQLNextResult
SQLStartTran
SQLColumnPrivileges
SQLTablePrivileges
Or perhaps someone would be interested in writing an OAR interface that wrapped SQLCLI? That would really streamline the SQL interface!
-Nathan
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact
[javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.