System.Data.SQLite

Login
This project makes use of Eagle, provided by Mistachkin Systems.
Eagle: Secure Software Automation

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

Overview
Comment:Preliminary changes to add a couple new events.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6ea27254da9256b2f7776a3ddc40970f7f8494e8
User & Date: mistachkin 2023-01-10 15:40:33
Context
2023-01-11
20:59
Add support for the (new) sqlite3_is_interrupted core library API. check-in: 5cf635b987 user: mistachkin tags: trunk
2023-01-10
15:40
Preliminary changes to add a couple new events. check-in: 6ea27254da user: mistachkin tags: trunk
2022-11-26
20:45
Final updates for release 1.0.117.0. check-in: 1c46874c8f user: mistachkin tags: trunk, release, release-1.0.117.0
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to System.Data.SQLite/SQLiteConnection.cs.

855
856
857
858
859
860
861


862
863
864
865
866
867
868
      public readonly string Text;

      /// <summary>
      /// Extra data associated with this event, if any.
      /// </summary>
      public readonly object Data;



      /// <summary>
      /// Constructs the object.
      /// </summary>
      /// <param name="eventType">The type of event being raised.</param>
      /// <param name="eventArgs">The base <see cref="EventArgs" /> associated
      /// with this event, if any.</param>
      /// <param name="transaction">The transaction associated with this event, if any.</param>







>
>







855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
      public readonly string Text;

      /// <summary>
      /// Extra data associated with this event, if any.
      /// </summary>
      public readonly object Data;

      /////////////////////////////////////////////////////////////////////////////////////////////

      /// <summary>
      /// Constructs the object.
      /// </summary>
      /// <param name="eventType">The type of event being raised.</param>
      /// <param name="eventArgs">The base <see cref="EventArgs" /> associated
      /// with this event, if any.</param>
      /// <param name="transaction">The transaction associated with this event, if any.</param>
881
882
883
884
885
886
887



































888
889
890
891
892
893
894
895
896










897
898
899
900
901
902
903
          CriticalHandle criticalHandle,
#else
          object criticalHandle,
#endif
          string text,
          object data
          )



































      {
          EventType = eventType;
          EventArgs = eventArgs;
          Transaction = transaction;
          Command = command;
          DataReader = dataReader;
          CriticalHandle = criticalHandle;
          Text = text;
          Data = data;










      }
  }

  /////////////////////////////////////////////////////////////////////////////////////////////////

  /// <summary>
  /// Raised when an event pertaining to a connection occurs.







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>









>
>
>
>
>
>
>
>
>
>







883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
          CriticalHandle criticalHandle,
#else
          object criticalHandle,
#endif
          string text,
          object data
          )
          : this(eventType, eventArgs, transaction, command, dataReader, criticalHandle, text, data, null)
      {
          // do nothing.
      }

      /////////////////////////////////////////////////////////////////////////////////////////////

      /// <summary>
      /// Constructs the object.
      /// </summary>
      /// <param name="eventType">The type of event being raised.</param>
      /// <param name="eventArgs">The base <see cref="EventArgs" /> associated
      /// with this event, if any.</param>
      /// <param name="transaction">The transaction associated with this event, if any.</param>
      /// <param name="command">The command associated with this event, if any.</param>
      /// <param name="dataReader">The data reader associated with this event, if any.</param>
      /// <param name="criticalHandle">The critical handle associated with this event, if any.</param>
      /// <param name="text">The command or message text, if any.</param>
      /// <param name="data">The extra data, if any.</param>
      /// <param name="result">The optional event result, if any.</param>
      internal ConnectionEventArgs(
          SQLiteConnectionEventType eventType,
          StateChangeEventArgs eventArgs,
          IDbTransaction transaction,
          IDbCommand command,
          IDataReader dataReader,
#if !PLATFORM_COMPACTFRAMEWORK
          CriticalHandle criticalHandle,
#else
          object criticalHandle,
#endif
          string text,
          object data,
          string result
          )
      {
          EventType = eventType;
          EventArgs = eventArgs;
          Transaction = transaction;
          Command = command;
          DataReader = dataReader;
          CriticalHandle = criticalHandle;
          Text = text;
          Data = data;
          Result = result;
      }

      /////////////////////////////////////////////////////////////////////////////////////////////

      private string result;
      public string Result
      {
          get { return result; }
          set { result = value; }
      }
  }

  /////////////////////////////////////////////////////////////////////////////////////////////////

  /// <summary>
  /// Raised when an event pertaining to a connection occurs.
4471
4472
4473
4474
4475
4476
4477








4478
4479
4480
4481
4482
4483
4484
          SQLiteConnectionEventType.Opening, null, null, null, null, null,
          null, null));

      if (_connectionState != ConnectionState.Closed)
        throw new InvalidOperationException();

      Close();









      SortedList<string, string> opts = ParseConnectionString(
          this, _connectionString, _parseViaFramework, false);

      string stringValue;
      object enumValue;








>
>
>
>
>
>
>
>







4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
          SQLiteConnectionEventType.Opening, null, null, null, null, null,
          null, null));

      if (_connectionState != ConnectionState.Closed)
        throw new InvalidOperationException();

      Close();

      ConnectionEventArgs previewEventArgs = new ConnectionEventArgs(
          SQLiteConnectionEventType.ConnectionStringPreview,
          null, null, null, null, null, null, null, null);

      previewEventArgs.Result = _connectionString;
      OnChanged(this, previewEventArgs);
      _connectionString = previewEventArgs.Result;

      SortedList<string, string> opts = ParseConnectionString(
          this, _connectionString, _parseViaFramework, false);

      string stringValue;
      object enumValue;

5256
5257
5258
5259
5260
5261
5262




5263
5264
5265
5266
5267
5268
5269
    {
        CheckDisposed();

        if (_sql == null)
            throw new InvalidOperationException("Database connection not valid for query cancellation.");

        _sql.Cancel(); /* throw */




    }

    /// <summary>
    /// Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
    /// this connection.
    /// </summary>
#if !PLATFORM_COMPACTFRAMEWORK







>
>
>
>







5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
    {
        CheckDisposed();

        if (_sql == null)
            throw new InvalidOperationException("Database connection not valid for query cancellation.");

        _sql.Cancel(); /* throw */

        OnChanged(this, new ConnectionEventArgs(
            SQLiteConnectionEventType.Canceled,
            null, null, null, null, null, null, null));
    }

    /// <summary>
    /// Returns the number of rows changed by the last INSERT, UPDATE, or DELETE statement executed on
    /// this connection.
    /// </summary>
#if !PLATFORM_COMPACTFRAMEWORK

Changes to System.Data.SQLite/SQLiteConvert.cs.

2391
2392
2393
2394
2395
2396
2397
2398










2399
2400
2401
2402
2403
2404
2405
      /// </summary>
      FinalizedConnection = 20,

      /// <summary>
      /// The closing of the object had no effect, e.g. because the
      /// underlying resource was not actually allocated or opened.
      /// </summary>
      NothingToDo = 21










  }

  /// <summary>
  /// This implementation of SQLite for ADO.NET can process date/time fields in
  /// databases in one of six formats.
  /// </summary>
  /// <remarks>







|
>
>
>
>
>
>
>
>
>
>







2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
      /// </summary>
      FinalizedConnection = 20,

      /// <summary>
      /// The closing of the object had no effect, e.g. because the
      /// underlying resource was not actually allocated or opened.
      /// </summary>
      NothingToDo = 21,

      /// <summary>
      /// The connection string may be changed.
      /// </summary>
      ConnectionStringPreview = 22,

      /// <summary>
      /// The <see cref="SQLiteConnection.Cancel" /> method was invoked.
      /// </summary>
      Canceled = 23
  }

  /// <summary>
  /// This implementation of SQLite for ADO.NET can process date/time fields in
  /// databases in one of six formats.
  /// </summary>
  /// <remarks>