Skip to content

Commit cc5952e

Browse files
committed
Upgrades with news NETStandard.Library 2.0.0-preview2
1 parent 8d038d3 commit cc5952e

File tree

4 files changed

+57
-16
lines changed

4 files changed

+57
-16
lines changed

DuplicityKeys.Core.sample/DuplicityKeys.Core.sample.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="FriendlyCSharp.Databases" Version="2.0.0-preview" />
9+
<PackageReference Include="FriendlyCSharp.Databases" Version="2.0.0-preview2" />
1010
</ItemGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Update="Microsoft.NETCore.App" Version="2.0.0-preview1-002111-00" />
13+
<PackageReference Update="Microsoft.NETCore.App" Version="2.0.0-preview2-25407-01" />
1414
</ItemGroup>
1515
</Project>

FriendlyCSharp.Databases/FriendlyCSharp.Databases.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313

1414
The B-tree is a generalization of a binary search tree in that a node can have more than two children (Comer 1979, p. 123). Unlike self-balancing binary search trees, the B-tree is optimized for systems that read and write large blocks of data.
1515
</Description>
16-
<PackageReleaseNotes>Upgrades with news NETStandard.Library 2.0.0-preview</PackageReleaseNotes>
16+
<PackageReleaseNotes>Upgrades with news NETStandard.Library 2.0.0-preview2</PackageReleaseNotes>
1717
</PropertyGroup>
1818

1919
<PropertyGroup>
2020
<TargetFramework>netstandard2.0</TargetFramework>
21-
<Version>2.0.0-preview</Version>
21+
<Version>2.0.0-preview2</Version>
2222
<AssemblyVersion>2.0.0.0</AssemblyVersion>
2323
<FileVersion>2.0.0.0</FileVersion>
2424
</PropertyGroup>
@@ -32,7 +32,7 @@ The B-tree is a generalization of a binary search tree in that a node can have m
3232
</PropertyGroup>
3333

3434
<ItemGroup>
35-
<PackageReference Update="NETStandard.Library" Version="2.0.0-preview1-25301-01" />
35+
<PackageReference Update="NETStandard.Library" Version="2.0.0-preview2-25401-01" />
3636
</ItemGroup>
3737

3838
</Project>

FriendlyCSharp.Databases/Storage/FcsInmemStream.cs

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ public virtual void Delete(long offset, long offsetNew)
312312
{
313313
Dispose(true);
314314
//GC.SuppressFinalize(this);
315+
base.Dispose(true);
315316
}
316317
/////////////////////////////////////////////
317318
protected override void Dispose(bool disposing)
@@ -392,7 +393,47 @@ public override long Position
392393
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
393394
public override int Read(byte[] buffer, int offset, int count)
394395
{
395-
throw new NotImplementedException("Cannot Read() to this FcsInmemStream<T>.");
396+
if (!_bFuncPosition)
397+
throw new NotImplementedException("Cannot Read() to this FcsInmemStream<T>.");
398+
if (!CanRead)
399+
return 0;
400+
401+
int sizeT = Marshal.SizeOf<T>();
402+
int countT = Math.Abs(count) / sizeT;
403+
if ((count > 0) && (countT <= 0))
404+
countT = sizeT;
405+
countT &= 0xFFFF;
406+
if (_bFuncException)
407+
{
408+
if (buffer == null)
409+
throw new ArgumentOutOfRangeException(nameof(buffer));
410+
if ((offset < 0) || (offset >= buffer.Length))
411+
throw new ArgumentOutOfRangeException(nameof(offset));
412+
if ((count <= 0) || (count + offset > buffer.Length))
413+
throw new ArgumentOutOfRangeException(nameof(count));
414+
}
415+
416+
long lengthTemp = Length;
417+
long position = Position;
418+
if (position == lengthTemp) // foreach must return 0
419+
return 0;
420+
if ((position < 0) || (position > lengthTemp))
421+
throw new ArgumentOutOfRangeException(nameof(Position));
422+
423+
if (position + countT > lengthTemp)
424+
countT = (UInt16)(lengthTemp - position);
425+
T[] aValue = new T[countT];
426+
int iRead = _BlockCopyInternal(true, position, aValue, 0, countT);
427+
//
428+
int size = iRead * sizeT;
429+
IntPtr ptr = Marshal.AllocHGlobal(size);
430+
Marshal.StructureToPtr(aValue, ptr, false);
431+
Marshal.Copy(ptr, buffer, offset, size);
432+
Marshal.FreeHGlobal(ptr);
433+
//
434+
lock (_lockAppend)
435+
Position = position + iRead;
436+
return iRead * sizeT;
396437
}
397438
/////////////////////////////////////////////
398439
public virtual int Read(out T value)

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ A library of cross platform C# data structures. Generic [**B-tree**](https://en.
77
## B-Tree generic class
88
#### [FcsBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsBTreeN.cs) \[where TKey : struct, IComparable&lt;TKey&gt;\]
99
+ `Methods:` BtnAddFirst, BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
10-
#### [FcsDuplValueFastBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsDuplValueFastBTreeN.cs) \[where TKey : struct, IComparable&lt;TKey&gt;\] - [new 2.0.0-preview](https://www.nuget.org/packages/FriendlyCSharp.Databases/2.0.0-preview), [INSTALL](#install)
10+
#### [FcsDuplValueFastBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsDuplValueFastBTreeN.cs) \[where TKey : struct, IComparable&lt;TKey&gt;\] - [new 2.0.0-preview2](https://www.nuget.org/packages/FriendlyCSharp.Databases/2.0.0-preview2), [INSTALL](#install)
1111
+ `Methods:` BtnAddFirst, BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
1212
+ `Methods:` BtnFastFind, BtnFastFirst, BtnFastLast, BtnFastNext, BtnFastPrev, BtnFastSearch, BtnFastSearchPrev.
1313
#### [FcsFastBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsFastBTreeN.cs) \[where TKey : struct, IComparable&lt;TKey&gt;\]
1414
+ `Methods:` BtnAddFirst, BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
1515
+ `Methods:` BtnFastFind, BtnFastFirst, BtnFastLast, BtnFastNext, BtnFastPrev, BtnFastSearch, BtnFastSearchPrev.
1616
#### [FcsLockBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsLockBTreeN.cs) \[where TKey : struct, IComparable&lt;TKey&gt;\]
1717
+ `Methods:` BtnAddFirst, BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
18-
#### [FcsKeyFastBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsKeyFastBTreeN.cs) \[where TKey : struct\] - [new 2.0.0-preview](https://www.nuget.org/packages/FriendlyCSharp.Databases/2.0.0-preview), [INSTALL](#install)
18+
#### [FcsKeyFastBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsKeyFastBTreeN.cs) \[where TKey : struct\] - [new 2.0.0-preview2](https://www.nuget.org/packages/FriendlyCSharp.Databases/2.0.0-preview2), [INSTALL](#install)
1919
+ `Methods:` BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
2020
+ `Methods:` BtnFastFind, BtnFastFirst, BtnFastLast, BtnFastNext, BtnFastPrev, BtnFastSearch, BtnFastSearchPrev.
2121
#### [FcsFastLockBTreeN&lt;TKey, TValue&gt;](FriendlyCSharp.Databases/BTreeN/FcsFastLockBTreeN.cs) \[where TKey : struct, IComparable&lt;TKey&gt;\]
@@ -26,7 +26,7 @@ A library of cross platform C# data structures. Generic [**B-tree**](https://en.
2626
* [BtnEnumerator.Core.sample](Samples/BtnEnumerator.Core.sample), [BtnEnumerator.NET.sample](Samples/BtnEnumerator.NET.sample)
2727
* [FcsFastBTreeN.Core.benchmark](Samples/FcsFastBTreeN.Core.benchmark), [FcsFastBTreeN.NET.benchmark](Samples/FcsFastBTreeN.NET.benchmark)
2828
* [MultipleKeys.Core.sample](Samples/MultipleKeys.Core.sample), [MultipleKeys.NET.sample](Samples/MultipleKeys.NET.sample)
29-
* **new** [DuplicityKeys.Core.sample](DuplicityKeys.Core.sample) - [Microsoft.NETCore.App 2.0.0-preview1](https://www.nuget.org/packages/Microsoft.NETCore.App/2.0.0-preview1-002111-00), [NETStandard.Library 2.0.0-preview1](https://www.nuget.org/packages/NETStandard.Library/2.0.0-preview1-25301-01), [INSTALL](#install)
29+
* **new** [DuplicityKeys.Core.sample](DuplicityKeys.Core.sample) - [Microsoft.NETCore.App 2.0.0-preview2](https://www.nuget.org/packages/Microsoft.NETCore.App/2.0.0-preview2-25407-01), [NETStandard.Library 2.0.0-preview2](https://www.nuget.org/packages/NETStandard.Library/2.0.0-preview2-25401-01), [INSTALL](#install)
3030

3131
### Performance
3232
A [**B-tree**](https://en.wikipedia.org/wiki/B-tree) of order m is a tree which satisfies the following properties:
@@ -289,14 +289,14 @@ The benchmark was configured as follows:
289289
&nbsp; 
290290
## INSTALL
291291

292-
Instal Visual Studio 2017 version 15.3 preview
293-
* [A fresh update to Visual Studio 2017 and the next preview](https://blogs.msdn.microsoft.com/visualstudio/2017/05/10/update-to-visual-studio-2017-and-next-preview/)
294-
* [Visual Studio 2017 (version 15.3 - Preview) Release Notes](https://www.visualstudio.com/en-us/news/releasenotes/vs2017-preview-relnotes)
295-
* [Announcing .NET Core 2.0 Preview 1](https://blogs.msdn.microsoft.com/dotnet/2017/05/10/announcing-net-core-2-0-preview-1/)
296-
* [Chanel 9 - Build 2017 - .NET Standard 2.0 and .NET Core 2.0](https://channel9.msdn.com/Events/Build/2017/C9L18)
297-
* [.NET Framework 4.6.1 supporting .NET Standard 2.0](https://github.com/dotnet/standard/blob/master/docs/netstandard-20/README.md#net-framework-461-supporting-net-standard-20)
292+
Instal Visual Studio 2017 version 15.3.0 preview 3.0 & .NET Core 2.0 preview 2
293+
* [Pre-release Visual Studio 2017 | Visual Studio Preview](https://www.visualstudio.com/vs/preview/)
294+
* [Visual Studio 2017 (version 15.3 - Preview 3.0) Release Notes](https://www.visualstudio.com/en-us/news/releasenotes/vs2017-preview-relnotes)
295+
* [Announcing .NET Core 2.0 Preview 2](https://blogs.msdn.microsoft.com/dotnet/2017/06/28/announcing-net-core-2-0-preview-2/)
296+
* [GitHUB .NET Core](https://github.com/dotnet/core/tree/master/release-notes)
297+
* [.NET Core 2.0 preview 2 download](https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-preview2-download.md)
298298

299-
Install via Nuget Package Manager [version 2.0.0-preview](https://www.nuget.org/packages/FriendlyCSharp.Databases/2.0.0-preview)
299+
Install via Nuget Package Manager [version 2.0.0-preview2](https://www.nuget.org/packages/FriendlyCSharp.Databases/2.0.0-preview2)
300300

301301
```
302302
PM> Install-Package FriendlyCSharp.Databases -pre

0 commit comments

Comments
 (0)