private static extern void xflaim_Query_getOptInfo(
			IntPtr				pOptInfoArray,
			uint					uiInfoToGet,
			CS_XFLM_OPT_INFO	optInfo);
        //-----------------------------------------------------------------------------
        // getStatsAndOptInfo
        //-----------------------------------------------------------------------------
        /// <summary>
        /// Returns statistics and optimization information for the query.
        /// </summary>
        /// <returns>Returns an array of <see cref="CS_XFLM_OPT_INFO"/> objects.</returns>
        public CS_XFLM_OPT_INFO[] getStatsAndOptInfo()
        {
            RCODE						rc;
            IntPtr					pOptInfoArray;
            uint						uiNumOptInfos;
            CS_XFLM_OPT_INFO []	optInfo;

            if ((rc = xflaim_Query_getStatsAndOptInfo( m_pQuery, out pOptInfoArray,
                out uiNumOptInfos)) != 0)
            {
                throw new XFlaimException( rc);
            }
            optInfo = new CS_XFLM_OPT_INFO [uiNumOptInfos];

            for (uint uiLoop = 0; uiLoop < uiNumOptInfos; uiLoop++)
            {
                xflaim_Query_getOptInfo( pOptInfoArray, uiLoop, optInfo [uiLoop]);
            }
            m_db.getDbSystem().freeUnmanagedMem( pOptInfoArray);
            return( optInfo);
        }