Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Further refinements to IDisposable handling. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | sessions |
Files: | files | file ages | folders |
SHA1: |
cc900bbb35940f2a8a89cbc5bc1288b4 |
User & Date: | mistachkin 2017-10-06 20:53:39.276 |
Context
2017-10-06
| ||
20:56 | Make GetNativeHandle private. check-in: 4e6e08e9c5 user: mistachkin tags: sessions | |
20:53 | Further refinements to IDisposable handling. check-in: cc900bbb35 user: mistachkin tags: sessions | |
20:07 | More spacing cleanup. check-in: 812f16fdb8 user: mistachkin tags: sessions | |
Changes
Changes to System.Data.SQLite/SQLiteSession.cs.
︙ | ︙ | |||
49 50 51 52 53 54 55 | ISQLiteChangeSetMetadataItem item ); #endregion /////////////////////////////////////////////////////////////////////////// #region ISQLiteChangeSet Interface | | | | | | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | ISQLiteChangeSetMetadataItem item ); #endregion /////////////////////////////////////////////////////////////////////////// #region ISQLiteChangeSet Interface public interface ISQLiteChangeSet : IDisposable { ISQLiteChangeSet Invert(); ISQLiteChangeSet CombineWith(ISQLiteChangeSet changeSet); void Apply( SessionConflictCallback conflictCallback, object clientData ); void Apply( SessionConflictCallback conflictCallback, SessionTableFilterCallback tableFilterCallback, object clientData ); } #endregion /////////////////////////////////////////////////////////////////////////// #region ISQLiteChangeGroup Interface public interface ISQLiteChangeGroup : IDisposable { void AddChangeSet(byte[] rawData); void AddChangeSet(Stream stream); void CreateChangeSet(ref byte[] rawData); void CreateChangeSet(Stream stream); } #endregion /////////////////////////////////////////////////////////////////////////// #region ISQLiteChangeSetMetadataItem Interface public interface ISQLiteChangeSetMetadataItem : IDisposable { string TableName { get; } int NumberOfColumns { get; } SQLiteAuthorizerActionCode OperationCode { get; } bool Indirect { get; } bool[] PrimaryKeyColumns { get; } int NumberOfForeignKeyConflicts { get; } SQLiteValue GetOldValue(int columnIndex); SQLiteValue GetNewValue(int columnIndex); SQLiteValue GetConflictValue(int columnIndex); } #endregion /////////////////////////////////////////////////////////////////////////// #region ISQLiteSession Interface public interface ISQLiteSession : IDisposable { bool IsEnabled(); void SetToEnabled(); void SetToDisabled(); bool IsIndirect(); void SetToIndirect(); |
︙ | ︙ | |||
715 716 717 718 719 720 721 | #endregion } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteChangeGroup Class | | | 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 | #endregion } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteChangeGroup Class internal sealed class SQLiteChangeGroup : ISQLiteChangeGroup { #region Private Data private SQLiteConnectionFlags flags; /////////////////////////////////////////////////////////////////////// private IntPtr changeGroup; |
︙ | ︙ | |||
941 942 943 944 945 946 947 | #endregion } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteSession Class | | | 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 | #endregion } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteSession Class internal sealed class SQLiteSession : ISQLiteSession { #region Private Data private SQLiteConnectionHandle handle; private SQLiteConnectionFlags flags; private string databaseName; /////////////////////////////////////////////////////////////////////// |
︙ | ︙ | |||
971 972 973 974 975 976 977 | string databaseName ) { this.handle = handle; this.flags = flags; this.databaseName = databaseName; | | < < > > > > > > > > > > > > > > > | 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 | string databaseName ) { this.handle = handle; this.flags = flags; this.databaseName = databaseName; Initialize(); } #endregion /////////////////////////////////////////////////////////////////////// #region Private Methods private void CheckHandle() { if (session == IntPtr.Zero) throw new InvalidOperationException("session is not open"); } /////////////////////////////////////////////////////////////////////// private void Initialize() { if (session != IntPtr.Zero) return; SQLiteErrorCode rc = UnsafeNativeMethods.sqlite3session_create( handle, SQLiteString.GetUtf8BytesFromString(databaseName), ref session); if (rc != SQLiteErrorCode.Ok) throw new SQLiteException(rc, "sqlite3session_create"); } /////////////////////////////////////////////////////////////////////// #region Native Callback Methods private int xFilter( IntPtr context, /* NOT USED */ byte[] tblName |
︙ | ︙ | |||
1073 1074 1075 1076 1077 1078 1079 | CheckHandle(); return UnsafeNativeMethods.sqlite3session_isempty(session) != 0; } /////////////////////////////////////////////////////////////////////// | | > > | 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 | CheckHandle(); return UnsafeNativeMethods.sqlite3session_isempty(session) != 0; } /////////////////////////////////////////////////////////////////////// public void AttachTable( string name ) { CheckDisposed(); CheckHandle(); SQLiteErrorCode rc = UnsafeNativeMethods.sqlite3session_attach( session, SQLiteString.GetUtf8BytesFromString(name)); |
︙ | ︙ | |||
1324 1325 1326 1327 1328 1329 1330 | } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteMemoryChangeSet Class internal sealed class SQLiteMemoryChangeSet : | | < | 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 | } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteMemoryChangeSet Class internal sealed class SQLiteMemoryChangeSet : ISQLiteChangeSet, IEnumerable<ISQLiteChangeSetMetadataItem> { #region Private Data private byte[] rawData; private SQLiteConnectionHandle handle; private SQLiteConnectionFlags flags; #endregion |
︙ | ︙ | |||
1695 1696 1697 1698 1699 1700 1701 | } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteStreamChangeSet Class internal sealed class SQLiteStreamChangeSet : | | < | 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 | } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteStreamChangeSet Class internal sealed class SQLiteStreamChangeSet : ISQLiteChangeSet, IEnumerable<ISQLiteChangeSetMetadataItem> { #region Private Data private Stream inputStream; private Stream outputStream; private SQLiteConnectionHandle handle; private SQLiteConnectionFlags flags; #endregion |
︙ | ︙ | |||
2329 2330 2331 2332 2333 2334 2335 | } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteChangeSetMetadataItem Class internal sealed class SQLiteChangeSetMetadataItem : | | | 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 | } #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteChangeSetMetadataItem Class internal sealed class SQLiteChangeSetMetadataItem : ISQLiteChangeSetMetadataItem { #region Private Data private SQLiteChangeSetIterator iterator; #endregion /////////////////////////////////////////////////////////////////////// |
︙ | ︙ |