/////////////////////////////////////////////////////////////////////// /// <summary> /// This method is called in response to the /// <see cref="ISQLiteNativeModule.xColumn" /> method. /// </summary> /// <param name="cursor"> /// The <see cref="SQLiteVirtualTableCursor" /> object instance /// associated with the previously opened virtual table cursor to be /// used. /// </param> /// <param name="context"> /// The <see cref="SQLiteContext" /> object instance to be used for /// returning the specified column value to the SQLite core library. /// </param> /// <param name="index"> /// The zero-based index corresponding to the column containing the /// value to be returned. /// </param> /// <returns> /// A standard SQLite return code. /// </returns> public abstract SQLiteErrorCode Column( SQLiteVirtualTableCursor cursor, SQLiteContext context, int index );
/////////////////////////////////////////////////////////////////////// /// <summary> /// See the <see cref="ISQLiteManagedModule.Column" /> method. /// </summary> /// <param name="cursor"> /// See the <see cref="ISQLiteManagedModule.Column" /> method. /// </param> /// <param name="context"> /// See the <see cref="ISQLiteManagedModule.Column" /> method. /// </param> /// <param name="index"> /// See the <see cref="ISQLiteManagedModule.Column" /> method. /// </param> /// <returns> /// See the <see cref="ISQLiteManagedModule.Column" /> method. /// </returns> public override SQLiteErrorCode Column( SQLiteVirtualTableCursor cursor, SQLiteContext context, int index ) { CheckDisposed(); return GetMethodResultCode("Column"); }
/////////////////////////////////////////////////////////////////////// /// <summary> /// See the <see cref="ISQLiteNativeModule.xColumn" /> method. /// </summary> /// <param name="pCursor"> /// See the <see cref="ISQLiteNativeModule.xColumn" /> method. /// </param> /// <param name="pContext"> /// See the <see cref="ISQLiteNativeModule.xColumn" /> method. /// </param> /// <param name="index"> /// See the <see cref="ISQLiteNativeModule.xColumn" /> method. /// </param> /// <returns> /// See the <see cref="ISQLiteNativeModule.xColumn" /> method. /// </returns> private SQLiteErrorCode xColumn( IntPtr pCursor, IntPtr pContext, int index ) { IntPtr pVtab = IntPtr.Zero; try { pVtab = TableFromCursor(pCursor); SQLiteVirtualTableCursor cursor = CursorFromIntPtr( pVtab, pCursor); if (cursor != null) { SQLiteContext context = new SQLiteContext(pContext); return Column(cursor, context, index); } } catch (Exception e) /* NOTE: Must catch ALL. */ { SetTableError(pVtab, e.ToString()); } return SQLiteErrorCode.Error; }