Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Move the static SQLiteValue marshalling method into the SQLiteValue class itself. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
bd1c5de6ecc7f5ef250b190943aad863 |
User & Date: | mistachkin 2013-07-05 22:36:10.457 |
Context
2013-07-05
| ||
22:44 | Also move the static SQLiteIndex marshalling methods into the SQLiteIndex class itself. check-in: 82d24cdca3 user: mistachkin tags: trunk | |
22:36 | Move the static SQLiteValue marshalling method into the SQLiteValue class itself. check-in: bd1c5de6ec user: mistachkin tags: trunk | |
02:10 | Adjustments to the #if directives related to the vtshim extension module. check-in: f680c43ce0 user: mistachkin tags: trunk | |
Changes
Changes to System.Data.SQLite/SQLiteModule.cs.
︙ | ︙ | |||
306 307 308 309 310 311 312 | /// <summary> /// Constructs an instance of this class using the specified native /// value handle. /// </summary> /// <param name="pValue"> /// The native value handle to use. /// </param> | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 | /// <summary> /// Constructs an instance of this class using the specified native /// value handle. /// </summary> /// <param name="pValue"> /// The native value handle to use. /// </param> private SQLiteValue(IntPtr pValue) { this.pValue = pValue; } #endregion /////////////////////////////////////////////////////////////////////// #region Private Methods /// <summary> /// Invalidates the native value handle, thereby preventing further /// access to it from this object instance. /// </summary> private void PreventNativeAccess() { pValue = IntPtr.Zero; } #endregion /////////////////////////////////////////////////////////////////////// #region Internal Methods /// <summary> /// Converts a logical array of native pointers to native sqlite3_value /// structures into a managed array of <see cref="SQLiteValue" /> /// object instances. /// </summary> /// <param name="argc"> /// The number of elements in the logical array of native sqlite3_value /// structures. /// </param> /// <param name="argv"> /// The native pointer to the logical array of native sqlite3_value /// structures to convert. /// </param> /// <returns> /// The managed array of <see cref="SQLiteValue" /> object instances or /// null upon failure. /// </returns> internal static SQLiteValue[] ArrayFromSizeAndIntPtr( int argc, IntPtr argv ) { if (argc < 0) return null; if (argv == IntPtr.Zero) return null; SQLiteValue[] result = new SQLiteValue[argc]; for (int index = 0, offset = 0; index < result.Length; index++, offset += IntPtr.Size) { IntPtr pArg = SQLiteMarshal.ReadIntPtr(argv, offset); result[index] = (pArg != IntPtr.Zero) ? new SQLiteValue(pArg) : null; } return result; } #endregion /////////////////////////////////////////////////////////////////////// #region ISQLiteNativeHandle Members /// <summary> /// Returns the underlying SQLite native handle associated with this /// object instance. |
︙ | ︙ | |||
4079 4080 4081 4082 4083 4084 4085 | Marshal.WriteIntPtr(IntPtrForOffset(pointer, offset), value); #endif } #endregion /////////////////////////////////////////////////////////////////////// | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 | Marshal.WriteIntPtr(IntPtrForOffset(pointer, offset), value); #endif } #endregion /////////////////////////////////////////////////////////////////////// #region SQLiteIndex Helper Methods /// <summary> /// Converts a native pointer to a native sqlite3_index_info structure /// into a new <see cref="SQLiteIndex" /> object instance. /// </summary> /// <param name="pIndex"> /// The native pointer to the native sqlite3_index_info structure to |
︙ | ︙ | |||
6863 6864 6865 6866 6867 6868 6869 | SQLiteVirtualTableCursor cursor = CursorFromIntPtr( pVtab, pCursor); if (cursor != null) { if (Filter(cursor, idxNum, SQLiteString.StringFromUtf8IntPtr(idxStr), | | | 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 | SQLiteVirtualTableCursor cursor = CursorFromIntPtr( pVtab, pCursor); if (cursor != null) { if (Filter(cursor, idxNum, SQLiteString.StringFromUtf8IntPtr(idxStr), SQLiteValue.ArrayFromSizeAndIntPtr(argc, argv)) == SQLiteErrorCode.Ok) { return SQLiteErrorCode.Ok; } } } catch (Exception e) /* NOTE: Must catch ALL. */ |
︙ | ︙ | |||
7070 7071 7072 7073 7074 7075 7076 | { try { SQLiteVirtualTable table = TableFromIntPtr(pVtab); if (table != null) { | | | | | 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 | { try { SQLiteVirtualTable table = TableFromIntPtr(pVtab); if (table != null) { return Update(table, SQLiteValue.ArrayFromSizeAndIntPtr(argc, argv), ref rowId); } } catch (Exception e) /* NOTE: Must catch ALL. */ { SetTableError(pVtab, e.ToString()); } |
︙ | ︙ |