System.Data.SQLite

Check-in [ffba634160]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Added future support for sqlite3_interrupt
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | sourceforge
Files: files | file ages | folders
SHA1: ffba634160c45c4befd6f860f8cbfa87b0220bde
User & Date: rmsimpson 2005-03-02 15:56:30.000
Context
2005-03-02
15:57
Changed Cancel() -- should not throw an error even if not implemented check-in: f35dd3aa68 user: rmsimpson tags: sourceforge
15:56
Added future support for sqlite3_interrupt check-in: ffba634160 user: rmsimpson tags: sourceforge
2005-03-01
17:32
Initial revision check-in: 5b6332ffaa user: rmsimpson tags: sourceforge
Changes
Unified Diff Ignore Whitespace Patch
Changes to System.Data.SQLite/SQLite3.cs.
44
45
46
47
48
49
50





51
52
53
54
55
56
57
      {
        int n = UnsafeNativeMethods.sqlite3_close_interop(_sql);
        if (n > 0) throw new SQLiteException(n, SQLiteLastError());
        SQLiteFunction.UnbindFunctions(this, _functionsArray);
      }
      _sql = 0;
    }






    internal override string Version
    {
      get
      {
        int len;
        return ToString(UnsafeNativeMethods.sqlite3_libversion_interop(out len), len);







>
>
>
>
>







44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
      {
        int n = UnsafeNativeMethods.sqlite3_close_interop(_sql);
        if (n > 0) throw new SQLiteException(n, SQLiteLastError());
        SQLiteFunction.UnbindFunctions(this, _functionsArray);
      }
      _sql = 0;
    }

    internal override void Cancel()
    {
      UnsafeNativeMethods.sqlite3_interrupt_interop(_sql);
    }

    internal override string Version
    {
      get
      {
        int len;
        return ToString(UnsafeNativeMethods.sqlite3_libversion_interop(out len), len);
Changes to System.Data.SQLite/SQLiteBase.cs.
91
92
93
94
95
96
97


98
99
100
101
102
103
104
    /// <summary>
    /// Resets a prepared statement so it can be executed again.  If the error returned is SQLITE_SCHEMA, 
    /// transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
    /// </summary>
    /// <param name="stmt">The statement to reset</param>
    /// <returns>Returns true if the schema changed while resetting, or false otherwise.</returns>
    internal abstract bool Reset(SQLiteStatement stmt);



    /// <summary>
    /// An interop-specific function, this call sets an internal flag in the sqlite.interop.dll which causes all column names
    /// of subsequently-prepared statements to return in Database.Table.Column format, ignoring all aliases that may have been applied
    /// to tables or columns in a resultset.
    /// </summary>
    /// <remarks>







>
>







91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
    /// <summary>
    /// Resets a prepared statement so it can be executed again.  If the error returned is SQLITE_SCHEMA, 
    /// transparently attempt to rebuild the SQL statement and throw an error if that was not possible.
    /// </summary>
    /// <param name="stmt">The statement to reset</param>
    /// <returns>Returns true if the schema changed while resetting, or false otherwise.</returns>
    internal abstract bool Reset(SQLiteStatement stmt);

    internal abstract void Cancel();

    /// <summary>
    /// An interop-specific function, this call sets an internal flag in the sqlite.interop.dll which causes all column names
    /// of subsequently-prepared statements to return in Database.Table.Column format, ignoring all aliases that may have been applied
    /// to tables or columns in a resultset.
    /// </summary>
    /// <remarks>
Changes to System.Data.SQLite/UnsafeNativeMethods.cs.
21
22
23
24
25
26
27



28
29
30
31
32
33
34

    [DllImport(SQLITE_DLL)]
    internal static extern void sqlite3_free_interop(IntPtr p);

    [DllImport(SQLITE_DLL)]
    internal static extern int sqlite3_open_interop(byte[] utf8Filename, out int db);




    [DllImport(SQLITE_DLL)]
    internal static extern int sqlite3_close_interop(int db);

    [DllImport(SQLITE_DLL)]
    internal static extern int sqlite3_exec_interop(int db, byte[] strSql, int pvCallback, int pvParam, out IntPtr errMsg, out int len);

    [DllImport(SQLITE_DLL)]







>
>
>







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

    [DllImport(SQLITE_DLL)]
    internal static extern void sqlite3_free_interop(IntPtr p);

    [DllImport(SQLITE_DLL)]
    internal static extern int sqlite3_open_interop(byte[] utf8Filename, out int db);

    [DllImport(SQLITE_DLL)]
    internal static extern void sqlite3_interrupt_interop(int db);

    [DllImport(SQLITE_DLL)]
    internal static extern int sqlite3_close_interop(int db);

    [DllImport(SQLITE_DLL)]
    internal static extern int sqlite3_exec_interop(int db, byte[] strSql, int pvCallback, int pvParam, out IntPtr errMsg, out int len);

    [DllImport(SQLITE_DLL)]