Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | 64-bit changes |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | sourceforge |
Files: | files | file ages | folders |
SHA1: |
f1667b2ff7c1788e2e04b6354b8a426b |
User & Date: | rmsimpson 2006-04-11 19:45:18.000 |
Context
2006-04-12
| ||
05:47 | 1.0.28.0 prep check-in: 49268d8c86 user: rmsimpson tags: sourceforge | |
2006-04-11
| ||
19:45 | 64-bit changes check-in: f1667b2ff7 user: rmsimpson tags: sourceforge | |
19:44 | 3.3.5 codec changes check-in: c9d926d514 user: rmsimpson tags: sourceforge | |
Changes
Changes to System.Data.SQLite/SQLiteFunction.cs.
︙ | ︙ | |||
78 79 80 81 82 83 84 | /// <summary> /// Used internally to keep track of memory allocated for aggregate functions /// </summary> private IntPtr _interopCookie; /// <summary> /// Internal array used to keep track of aggregate function context data /// </summary> | | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | /// <summary> /// Used internally to keep track of memory allocated for aggregate functions /// </summary> private IntPtr _interopCookie; /// <summary> /// Internal array used to keep track of aggregate function context data /// </summary> private Dictionary<long, object> _contextDataList; /// <summary> /// Holds a reference to the callback function for user functions /// </summary> private SQLiteCallback _InvokeFunc; /// <summary> /// Holds a reference to the callbakc function for stepping in an aggregate function |
︙ | ︙ | |||
107 108 109 110 111 112 113 | private static List<SQLiteFunctionAttribute> _registeredFunctions = new List<SQLiteFunctionAttribute>(); /// <summary> /// Internal constructor, initializes the function's internal variables. /// </summary> protected SQLiteFunction() { | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | private static List<SQLiteFunctionAttribute> _registeredFunctions = new List<SQLiteFunctionAttribute>(); /// <summary> /// Internal constructor, initializes the function's internal variables. /// </summary> protected SQLiteFunction() { _contextDataList = new Dictionary<long, object>(); } /// <summary> /// Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert /// strings and DateTime's into the current connection's encoding schema. /// </summary> public SQLiteConvert SQLiteConvert |
︙ | ︙ | |||
331 332 333 334 335 336 337 | /// </remarks> /// <param name="context">A raw context pointer</param> /// <param name="nArgs">Number of arguments passed in</param> /// <param name="argsptr">A pointer to the array of arguments</param> internal void StepCallback(IntPtr context, int nArgs, IntPtr argsptr) { int n = _base.AggregateCount(context); | | | | | 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 | /// </remarks> /// <param name="context">A raw context pointer</param> /// <param name="nArgs">Number of arguments passed in</param> /// <param name="argsptr">A pointer to the array of arguments</param> internal void StepCallback(IntPtr context, int nArgs, IntPtr argsptr) { int n = _base.AggregateCount(context); long nAux; object obj = null; nAux = (long)_base.AggregateContext(context); if (n > 1) obj = _contextDataList[nAux]; Step(ConvertParams(nArgs, argsptr), n, ref obj); _contextDataList[nAux] = obj; } /// <summary> /// An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method. /// </summary> /// <param name="context">A raw context pointer</param> /// <param name="nArgs">Not used, always zero</param> /// <param name="argsptr">Not used, always zero</param> internal void FinalCallback(IntPtr context, int nArgs, IntPtr argsptr) { long n = (long)_base.AggregateContext(context); object obj = null; if (_contextDataList.ContainsKey(n)) { obj = _contextDataList[n]; _contextDataList.Remove(n); } |
︙ | ︙ | |||
382 383 384 385 386 387 388 | /// </summary> public void Dispose() { Dispose(true); IDisposable disp; | | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 | /// </summary> public void Dispose() { Dispose(true); IDisposable disp; foreach (KeyValuePair<long, object> kv in _contextDataList) { disp = kv.Value as IDisposable; if (disp != null) disp.Dispose(); } _contextDataList.Clear(); |
︙ | ︙ |