System.Data.SQLite

Login
This project makes use of Eagle, provided by Mistachkin Systems.
Eagle: Secure Software Automation
2011-07-07
05:12
To avoid future confusion, the fix for [8c1650482e] should match the fix for [201128cc88]. check-in: f1f7b20cea user: mistachkin tags: trunk
04:48 Ticket [8c1650482e] SQLite3.GetBytes optimization status still Fixed with 2 other changes artifact: 96844040a4 user: mistachkin
04:34 Ticket [201128cc88] SQLite3.GetParamValueBytes optimization status still Closed with 1 other change artifact: 0c6dc3406e user: mistachkin
04:30 Ticket [201128cc88]: 2 changes artifact: b6073f8c6c user: mistachkin
04:19 Ticket [201128cc88]: 1 change artifact: cec4f7a5fb user: mistachkin
04:18
Add proper test case for [201128cc88] that covers most branches of the modified method. Also, tweak common test infrastructure. check-in: a290d2c1a5 user: mistachkin tags: trunk
02:41 Closed ticket [201128cc88]: SQLite3.GetParamValueBytes optimization plus 2 other changes artifact: b2698d9f7d user: mistachkin
02:40
Further optimization/fix for ticket [201128cc88]. check-in: f09f0e8ea1 user: mistachkin tags: trunk
2011-07-05
13:55 Open ticket [201128cc88]: SQLite3.GetParamValueBytes optimization plus 2 other changes artifact: 5b50811ec1 user: anonymous
10:18 Closed ticket [201128cc88]. artifact: fe6aeb5e69 user: mistachkin
10:13
Fix for [201128cc88]. check-in: 3e063f371f user: mistachkin tags: trunk
2011-07-04
14:35 New ticket [201128cc88] SQLite3.GetParamValueBytes optimization. artifact: c0403986f2 user: anonymous

Ticket Hash: 201128cc8893e3d92ddf1b3e1e89a5f653f006ee
Title: SQLite3.GetParamValueBytes optimization
Status: Closed Type: Code_Defect
Severity: Minor Priority: Immediate
Subsystem: Integration_Via_PInvoke Resolution: Fixed
Last Modified: 2011-07-07 04:34:49
Version Found In:
Description:
Current:
nlen = UnsafeNativeMethods.sqlite3_value_bytes(p); ptr = UnsafeNativeMethods.sqlite3_value_blob(p); if (bDest == null) return nlen;

Need:

nlen = UnsafeNativeMethods.sqlite3_value_bytes(p); if (bDest == null) return nlen;
if (nCopied + nStart > bDest.Length) nCopied = bDest.Length - nStart; if (nCopied + nDataOffset > nlen) nCopied = nlen - nDataOffset;
if (nCopied > 0) { ptr = UnsafeNativeMethods.sqlite3_value_blob(p); Marshal.Copy((IntPtr)(ptr.ToInt64() + nDataOffset), bDest, nStart, nCopied); } else nCopied = 0;

mistachkin added on 2011-07-05 10:18:17 UTC:
Fixed in [3e063f371f].


anonymous added on 2011-07-05 13:55:47 UTC:
1) if (nCopied > 0) { IntPtr ptr = UnsafeNativeMethods.sqlite3_value_blob(p); ...

2) ptr.ToInt32() -> ptr.ToInt64()


mistachkin added on 2011-07-07 02:41:02 UTC:
Fixed, see check-in [f09f0e8ea1].


mistachkin added on 2011-07-07 04:19:24 UTC:
Added test case, see check-in [a290d2c1a5].