Repository: ignite
Updated Branches:
  refs/heads/ignite-2.7 96e39dfa3 -> 67f408622


IGNITE-9877 .NET: Fix AmbiguousMatchException in LINQ under .NET Core 2.1


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/67f40862
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/67f40862
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/67f40862

Branch: refs/heads/ignite-2.7
Commit: 67f408622348f338d65e0f8e2c71b82c4c9e073e
Parents: 96e39df
Author: Pavel Tupitsyn <[email protected]>
Authored: Wed Oct 17 17:20:37 2018 +0300
Committer: Pavel Tupitsyn <[email protected]>
Committed: Wed Oct 17 17:22:14 2018 +0300

----------------------------------------------------------------------
 .../Apache.Ignite.Core.Tests.DotNetCore.csproj  |  4 +-
 .../Serializable/AdvancedSerializationTest.cs   |  8 ++--
 .../Binary/Serializable/SqlDmlTest.cs           | 20 ++++-----
 .../Cache/CacheAbstractTest.cs                  | 45 ++++++++++----------
 .../Cache/Query/Linq/CacheLinqTest.Strings.cs   | 10 ++---
 .../Client/Cache/CacheTestSsl.cs                |  2 +-
 .../Client/Cache/ScanQueryTest.cs               |  4 +-
 .../Client/IgniteClientConfigurationTest.cs     |  2 +-
 .../Compute/ComputeApiTest.JavaTask.cs          |  2 +-
 .../Services/ServicesTest.cs                    |  2 +-
 .../Impl/Unmanaged/Jni/AppDomains.cs            |  8 ++--
 .../Impl/Unmanaged/Jni/Jvm.cs                   |  2 +-
 .../Impl/Unmanaged/Jni/JvmDll.cs                |  8 ++--
 .../Apache.Ignite.Linq/Impl/MethodVisitor.cs    | 10 ++---
 14 files changed, 63 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests.DotNetCore/Apache.Ignite.Core.Tests.DotNetCore.csproj
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests.DotNetCore/Apache.Ignite.Core.Tests.DotNetCore.csproj
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests.DotNetCore/Apache.Ignite.Core.Tests.DotNetCore.csproj
index e27f8b7..6550a7f 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests.DotNetCore/Apache.Ignite.Core.Tests.DotNetCore.csproj
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests.DotNetCore/Apache.Ignite.Core.Tests.DotNetCore.csproj
@@ -107,7 +107,7 @@
     <Compile Include="..\Apache.Ignite.Core.Tests\Client\Cache\LinqTest.cs" 
Link="ThinClient\Cache\LinqTest.cs" />
     <Compile 
Include="..\Apache.Ignite.Core.Tests\Client\ClientConnectionTest.cs" 
Link="ThinClient\ClientConnectionTest.cs" />
     <Compile Include="..\Apache.Ignite.Core.Tests\Client\ClientTestBase.cs" 
Link="ThinClient\ClientTestBase.cs" />
-    <Compile Include="..\Apache.Ignite.Core.Tests\Client\EndpointTest.cs" 
Link="ThinClient\EndpointTest.cs" />    
+    <Compile Include="..\Apache.Ignite.Core.Tests\Client\EndpointTest.cs" 
Link="ThinClient\EndpointTest.cs" />
     <Compile 
Include="..\Apache.Ignite.Core.Tests\Client\IgniteClientConfigurationTest.cs" 
Link="ThinClient\IgniteClientConfigurationTest.cs" />
     <Compile 
Include="..\Apache.Ignite.Core.Tests\Client\RawSecureSocketTest.cs" 
Link="ThinClient\RawSecureSocketTest.cs" />
     <Compile Include="..\Apache.Ignite.Core.Tests\Compute\ComputeApiTest.cs" 
Link="Compute\ComputeApiTest.cs" />
@@ -184,7 +184,7 @@
     <PackageReference Include="NUnit" Version="3.8.1" />
     <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
     <PackageReference Include="System.Configuration.ConfigurationManager" 
Version="4.4.0" />
-       
+
        <ProjectReference 
Include="..\Apache.Ignite.Core\Apache.Ignite.Core.DotNetCore.csproj" />
        <ProjectReference 
Include="..\Apache.Ignite.Linq\Apache.Ignite.Linq.DotNetCore.csproj" />
   </ItemGroup>

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
index 4a10922..d697e17 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/AdvancedSerializationTest.cs
@@ -96,7 +96,7 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
             Assert.AreEqual(expectedRes, jobResult.InnerXml);
         }
 
-#if !NETCOREAPP2_0  // AppDomains are not supported in .NET Core
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1  // AppDomains are not supported in .NET 
Core
         /// <summary>
         /// Tests custom serialization binder.
         /// </summary>
@@ -111,7 +111,7 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
             for (var i = 0; i < count; i++)
             {
                 dynamic val = Activator.CreateInstance(GenerateDynamicType());
-                
+
                 val.Id = i;
                 val.Name = "Name_" + i;
 
@@ -143,7 +143,7 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
                 TypeAttributes.Class | TypeAttributes.Public | 
TypeAttributes.Serializable);
 
             typeBuilder.DefineField("Id", typeof (int), 
FieldAttributes.Public);
-            
+
             typeBuilder.DefineField("Name", typeof (string), 
FieldAttributes.Public);
 
             return typeBuilder.CreateType();
@@ -258,4 +258,4 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
             // No-op.
         }
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/SqlDmlTest.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/SqlDmlTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/SqlDmlTest.cs
index 0ffd068..005488a 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/SqlDmlTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Binary/Serializable/SqlDmlTest.cs
@@ -38,7 +38,7 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
     {
         /** */
         private IIgnite _ignite;
-        
+
         /** */
         private StringBuilder _outSb;
 
@@ -109,7 +109,7 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
             var guid = Guid.NewGuid();
             var insertRes = cache.Query(new SqlFieldsQuery(
                 "insert into SimpleSerializable(_key, Byte, Bool, Short, Int, 
Long, Float, Double, " +
-                "Decimal, Guid, String) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
?)", 
+                "Decimal, Guid, String) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
?)",
                 3, 45, true, 43, 33, 99, 4.5f, 6.7, 9.04m, guid, 
"bar33")).GetAll();
 
             Assert.AreEqual(1, insertRes.Count);
@@ -163,7 +163,7 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
             Assert.AreEqual("Value was either too large or too small for a 
UInt32.", ex.Message);
         }
 
-#if !NETCOREAPP2_0  // Console redirect issues on .NET Core
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1  // Console redirect issues on .NET Core
         /// <summary>
         /// Tests the log warning.
         /// </summary>
@@ -196,25 +196,25 @@ namespace Apache.Ignite.Core.Tests.Binary.Serializable
 
             [QuerySqlField]
             public short Short { get; set; }
-            
+
             [QuerySqlField]
             public int Int { get; set; }
-            
+
             [QuerySqlField]
             public long Long { get; set; }
-            
+
             [QuerySqlField]
             public float Float { get; set; }
-            
+
             [QuerySqlField]
             public double Double { get; set; }
-            
+
             [QuerySqlField]
             public decimal Decimal { get; set; }
-            
+
             [QuerySqlField]
             public Guid Guid { get; set; }
-            
+
             [QuerySqlField]
             public string String { get; set; }
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
index 02ed39d..3c74ce4 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/CacheAbstractTest.cs
@@ -39,7 +39,7 @@ namespace Apache.Ignite.Core.Tests.Cache
     /// Base cache test.
     /// </summary>
     [SuppressMessage("ReSharper", "UnusedVariable")]
-    public abstract class CacheAbstractTest 
+    public abstract class CacheAbstractTest
     {
         /// <summary>
         /// Fixture setup.
@@ -91,7 +91,7 @@ namespace Apache.Ignite.Core.Tests.Cache
         /// </summary>
         [TearDown]
         public void AfterTest() {
-            for (int i = 0; i < GridCount(); i++) 
+            for (int i = 0; i < GridCount(); i++)
                 Cache(i).WithKeepBinary<object, object>().RemoveAll();
 
             for (int i = 0; i < GridCount(); i++)
@@ -213,7 +213,7 @@ namespace Apache.Ignite.Core.Tests.Cache
             Assert.IsTrue(cache.ContainsKey(key));
             Assert.IsFalse(cache.ContainsKey(-1));
         }
-        
+
         [Test]
         public void TestContainsKeys()
         {
@@ -229,7 +229,7 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             Assert.IsFalse(cache.ContainsKeys(keys.Concat(new[] 
{int.MaxValue})));
         }
-        
+
         [Test]
         public void TestPeek()
         {
@@ -260,11 +260,11 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             Assert.AreEqual(1, cache.Get(1));
             Assert.AreEqual(2, cache.Get(2));
-            
+
             Assert.Throws<KeyNotFoundException>(() => cache.Get(3));
 
             int value;
-            
+
             Assert.IsTrue(cache.TryGet(1, out value));
             Assert.AreEqual(1, value);
 
@@ -282,7 +282,7 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             cache.Put(1, 1);
             cache.Put(2, 2);
-            
+
             Assert.AreEqual(1, cache.Get(1));
             Assert.AreEqual(2, cache.Get(2));
             Assert.IsFalse(cache.ContainsKey(3));
@@ -376,11 +376,11 @@ namespace Apache.Ignite.Core.Tests.Cache
             Assert.AreEqual(1, cache.Get(1));
 
             Assert.IsFalse(cache.GetAndRemove(0).Success);
-            
+
             Assert.AreEqual(1, cache.GetAndRemove(1).Value);
 
             Assert.IsFalse(cache.GetAndRemove(1).Success);
-            
+
             Assert.IsFalse(cache.ContainsKey(1));
         }
 
@@ -653,10 +653,9 @@ namespace Apache.Ignite.Core.Tests.Cache
         /// Expiry policy tests.
         /// </summary>
         [Test]
+        [Ignore("https://issues.apache.org/jira/browse/IGNITE-8983";)]
         public void TestWithExpiryPolicy()
         {
-            Assert.Fail("https://issues.apache.org/jira/browse/IGNITE-8983";);
-
             TestWithExpiryPolicy((cache, policy) => 
cache.WithExpiryPolicy(policy), true);
         }
 
@@ -680,11 +679,11 @@ namespace Apache.Ignite.Core.Tests.Cache
         /// <summary>
         /// Expiry policy tests.
         /// </summary>
-        private void TestWithExpiryPolicy(Func<ICache<int, int>, 
IExpiryPolicy, ICache<int, int>> withPolicyFunc, 
+        private void TestWithExpiryPolicy(Func<ICache<int, int>, 
IExpiryPolicy, ICache<int, int>> withPolicyFunc,
             bool origCache)
         {
             ICache<int, int> cache0 = Cache(0);
-            
+
             int key0;
             int key1;
 
@@ -698,7 +697,7 @@ namespace Apache.Ignite.Core.Tests.Cache
                 key0 = GetPrimaryKeyForCache(cache0);
                 key1 = GetPrimaryKeyForCache(Cache(1));
             }
-            
+
             // Test unchanged expiration.
             ICache<int, int> cache = withPolicyFunc(cache0, new 
ExpiryPolicy(null, null, null));
             cache0 = origCache ? cache0 : cache;
@@ -787,7 +786,7 @@ namespace Apache.Ignite.Core.Tests.Cache
             Assert.IsFalse(cache0.ContainsKey(key0));
             Assert.IsFalse(cache0.ContainsKey(key1));
         }
-        
+
         /// <summary>
         /// Expiry policy tests for zero and negative expiry values.
         /// </summary>
@@ -796,7 +795,7 @@ namespace Apache.Ignite.Core.Tests.Cache
         public void TestWithExpiryPolicyZeroNegative()
         {
             ICache<int, int> cache0 = Cache(0);
-            
+
             int key0;
             int key1;
 
@@ -838,7 +837,7 @@ namespace Apache.Ignite.Core.Tests.Cache
             cache0.RemoveAll(new List<int> { key0, key1 });
 
             // Test negative expiration.
-            cache = cache0.WithExpiryPolicy(new 
ExpiryPolicy(TimeSpan.FromMilliseconds(-100), 
+            cache = cache0.WithExpiryPolicy(new 
ExpiryPolicy(TimeSpan.FromMilliseconds(-100),
                 TimeSpan.FromMilliseconds(-100), 
TimeSpan.FromMilliseconds(-100)));
 
             cache.Put(key0, key0);
@@ -1714,7 +1713,7 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             Assert.IsNull(err);
         }
-        
+
         /**
          * Test tries to provoke garbage collection for .Net future before it 
was completed to verify
          * futures pinning works.
@@ -2041,7 +2040,7 @@ namespace Apache.Ignite.Core.Tests.Cache
             foreach (var nearKey in nearKeys.Take(3))
                 Assert.AreNotEqual(0, cache.Get(nearKey));
         }
-        
+
         [Test]
         public void TestSerializable()
         {
@@ -2180,7 +2179,7 @@ namespace Apache.Ignite.Core.Tests.Cache
 
             var results = res.OrderBy(x => x.Key).Select(x => x.Result);
             var expectedResults = entries.OrderBy(x => x.Key).Select(x => 
x.Value + arg);
-            
+
             Assert.IsTrue(results.SequenceEqual(expectedResults));
 
             var resultEntries = cache.GetAll(entries.Keys);
@@ -2197,20 +2196,20 @@ namespace Apache.Ignite.Core.Tests.Cache
             res = cache.InvokeAll(entries.Keys, new T {Exists = false}, arg);
 
             Assert.IsTrue(res.All(x => x.Result == arg));
-            Assert.IsTrue(cache.GetAll(entries.Keys).All(x => x.Value == 
arg)); 
+            Assert.IsTrue(cache.GetAll(entries.Keys).All(x => x.Value == arg));
 
             // Test exceptions
             var errKey = entries.Keys.Reverse().Take(5).Last();
 
             TestInvokeAllException(cache, entries, new T { ThrowErr = true, 
ThrowOnKey = errKey }, arg, errKey);
-            TestInvokeAllException(cache, entries, new T { ThrowErrBinarizable 
= true, ThrowOnKey = errKey }, 
+            TestInvokeAllException(cache, entries, new T { ThrowErrBinarizable 
= true, ThrowOnKey = errKey },
                 arg, errKey);
             TestInvokeAllException(cache, entries, new T { 
ThrowErrNonSerializable = true, ThrowOnKey = errKey },
                 arg, errKey, "ExpectedException");
 
         }
 
-        private static void TestInvokeAllException<T>(ICache<int, int> cache, 
Dictionary<int, int> entries, 
+        private static void TestInvokeAllException<T>(ICache<int, int> cache, 
Dictionary<int, int> entries,
             T processor, int arg, int errKey, string exceptionText = null) 
where T : AddArgCacheEntryProcessor
         {
             var res = cache.InvokeAll(entries.Keys, processor, arg);

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/Linq/CacheLinqTest.Strings.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/Linq/CacheLinqTest.Strings.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/Linq/CacheLinqTest.Strings.cs
index cb89a5b..628f35c 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/Linq/CacheLinqTest.Strings.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Cache/Query/Linq/CacheLinqTest.Strings.cs
@@ -66,7 +66,7 @@ namespace Apache.Ignite.Core.Tests.Cache.Query.Linq
 
             CheckFunc(x => x.Trim(), strings);
 
-#if !NETCOREAPP2_0  // Trim is not supported on .NET Core
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1  // Trim is not supported on .NET Core
             CheckFunc(x => x.Trim('P'), strings);
             var toTrim = new[] { 'P' };
             CheckFunc(x => x.Trim(toTrim), strings);
@@ -89,9 +89,9 @@ namespace Apache.Ignite.Core.Tests.Cache.Query.Linq
             CheckFunc(x => Regex.Replace(x, @"son.\d", "kele!", 
RegexOptions.None), strings);
             CheckFunc(x => Regex.Replace(x, @"person.\d", "akele!", 
RegexOptions.IgnoreCase), strings);
             CheckFunc(x => Regex.Replace(x, @"person.\d", "akele!", 
RegexOptions.Multiline), strings);
-            CheckFunc(x => Regex.Replace(x, @"person.\d", "akele!", 
RegexOptions.IgnoreCase | RegexOptions.Multiline), 
+            CheckFunc(x => Regex.Replace(x, @"person.\d", "akele!", 
RegexOptions.IgnoreCase | RegexOptions.Multiline),
                 strings);
-            var notSupportedException = 
Assert.Throws<NotSupportedException>(() => CheckFunc(x => 
+            var notSupportedException = 
Assert.Throws<NotSupportedException>(() => CheckFunc(x =>
                 Regex.IsMatch(x, @"^person\d", RegexOptions.IgnoreCase | 
RegexOptions.CultureInvariant), strings));
             Assert.AreEqual("RegexOptions.CultureInvariant is not supported", 
notSupportedException.Message);
 
@@ -100,7 +100,7 @@ namespace Apache.Ignite.Core.Tests.Cache.Query.Linq
             CheckFunc(x => Regex.IsMatch(x, @"^person_9\d", 
RegexOptions.IgnoreCase), strings);
             CheckFunc(x => Regex.IsMatch(x, @"^Person_9\d", 
RegexOptions.Multiline), strings);
             CheckFunc(x => Regex.IsMatch(x, @"^person_9\d", 
RegexOptions.IgnoreCase | RegexOptions.Multiline), strings);
-            notSupportedException = Assert.Throws<NotSupportedException>(() => 
CheckFunc(x => 
+            notSupportedException = Assert.Throws<NotSupportedException>(() => 
CheckFunc(x =>
                 Regex.IsMatch(x, @"^person_9\d",RegexOptions.IgnoreCase | 
RegexOptions.CultureInvariant), strings));
             Assert.AreEqual("RegexOptions.CultureInvariant is not supported", 
notSupportedException.Message);
 
@@ -114,4 +114,4 @@ namespace Apache.Ignite.Core.Tests.Cache.Query.Linq
             CheckFunc(x => x + 10, strings);
         }
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/CacheTestSsl.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/CacheTestSsl.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/CacheTestSsl.cs
index 0f55ce5..f674232 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/CacheTestSsl.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/CacheTestSsl.cs
@@ -54,7 +54,7 @@ namespace Apache.Ignite.Core.Tests.Client.Cache
                     CertificatePassword = "123456",
                     SkipServerCertificateValidation = true,
                     CheckCertificateRevocation = true,
-#if !NETCOREAPP2_0
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1
                     SslProtocols = SslProtocols.Tls
 #else
                     SslProtocols = SslProtocols.Tls12

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs
index 71c8f0f..18ced28 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/Cache/ScanQueryTest.cs
@@ -124,7 +124,7 @@ namespace Apache.Ignite.Core.Tests.Client.Cache
                 var single = clientCache.Query(new ScanQuery<int, Person>(new 
PersonKeyFilter(3))).Single();
                 Assert.AreEqual(3, single.Key);
 
-#if !NETCOREAPP2_0   // Serializing delegates is not supported on this 
platform.
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1   // Serializing delegates is not 
supported on this platform.
                 // Multiple results.
                 var res = clientCache.Query(new ScanQuery<int, Person>(new 
PersonFilter(x => x.Name.Length == 1)))
                     .ToList();
@@ -157,7 +157,7 @@ namespace Apache.Ignite.Core.Tests.Client.Cache
         }
 
 
-#if !NETCOREAPP2_0   // Serializing delegates and exceptions is not supported 
on this platform.
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1   // Serializing delegates and exceptions 
is not supported on this platform.
         /// <summary>
         /// Tests the exception in filter.
         /// </summary>

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/IgniteClientConfigurationTest.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/IgniteClientConfigurationTest.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/IgniteClientConfigurationTest.cs
index 3d55f4c..a113193 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/IgniteClientConfigurationTest.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Client/IgniteClientConfigurationTest.cs
@@ -196,7 +196,7 @@ namespace Apache.Ignite.Core.Tests.Client
             }
         }
 
-#if !NETCOREAPP2_0
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1
         /// <summary>
         /// Tests the schema validation.
         /// </summary>

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeApiTest.JavaTask.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeApiTest.JavaTask.cs
 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeApiTest.JavaTask.cs
index 1f5c3a3..be0a203 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeApiTest.JavaTask.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Compute/ComputeApiTest.JavaTask.cs
@@ -316,7 +316,7 @@ namespace Apache.Ignite.Core.Tests.Compute
 
                 Assert.AreEqual(val, binRes.GetField<long>("Field"));
 
-#if !NETCOREAPP2_0
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1
                 var dotNetBin = _grid1.GetBinary().ToBinary<BinaryObject>(res);
 
                 Assert.AreEqual(dotNetBin.Header.HashCode, 
((BinaryObject)binRes).Header.HashCode);

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Services/ServicesTest.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Services/ServicesTest.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Services/ServicesTest.cs
index 81c3652..6bea9b2 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Services/ServicesTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Services/ServicesTest.cs
@@ -1018,7 +1018,7 @@ namespace Apache.Ignite.Core.Tests.Services
         /// </summary>
         private IgniteConfiguration GetConfiguration(string springConfigUrl)
         {
-#if !NETCOREAPP2_0
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1
             if (!CompactFooter)
             {
                 springConfigUrl = 
Compute.ComputeApiTestFullFooter.ReplaceFooterSetting(springConfigUrl);

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/AppDomains.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/AppDomains.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/AppDomains.cs
index e98796b..64c3665 100644
--- 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/AppDomains.cs
+++ 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/AppDomains.cs
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#if !NETCOREAPP2_0
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1
 namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
 {
     using System;
@@ -65,12 +65,12 @@ namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
             {
                 throw new IgniteException("Failed to get default AppDomain. 
Cannot create meta host: " + hr);
             }
-            
+
             var host = (ICLRMetaHost) objHost;
             var vers = Environment.Version;
             var versString = string.Format("v{0}.{1}.{2}", vers.Major, 
vers.Minor, vers.Build);
             var runtime = (ICLRRuntimeInfo) host.GetRuntime(versString, ref 
IID_CLRRuntimeInfo);
-            
+
             bool started;
             uint flags;
             runtime.IsStarted(out started, out flags);
@@ -133,4 +133,4 @@ namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
         }
     }
 }
-#endif
\ No newline at end of file
+#endif

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs
index 5c781b5..4e04a80 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/Jvm.cs
@@ -107,7 +107,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
         /// </summary>
         private static Callbacks GetCallbacksFromDefaultDomain()
         {
-#if !NETCOREAPP2_0
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1
             // JVM exists once per process, and JVM callbacks exist once per 
process.
             // We should register callbacks ONLY from the default AppDomain 
(which can't be unloaded).
             // Non-default appDomains should delegate this logic to the 
default one.

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/JvmDll.cs
----------------------------------------------------------------------
diff --git 
a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/JvmDll.cs 
b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/JvmDll.cs
index ef161f4..682226d 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/JvmDll.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Unmanaged/Jni/JvmDll.cs
@@ -172,8 +172,8 @@ namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
 
         /// <summary>
         /// Gets the default JVM init args.
-        /// Before calling this function, native code must set the 
vm_args->version field to the JNI version 
-        /// it expects the VM to support. After this function returns, 
vm_args->version will be set 
+        /// Before calling this function, native code must set the 
vm_args->version field to the JNI version
+        /// it expects the VM to support. After this function returns, 
vm_args->version will be set
         /// to the actual JNI version the VM supports.
         /// </summary>
         public unsafe JniResult GetDefaultJvmInitArgs(JvmInitArgs* args)
@@ -305,7 +305,7 @@ namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
         /// </summary>
         private static IEnumerable<KeyValuePair<string, string>> 
GetJvmDllPathsWindows()
         {
-#if !NETCOREAPP2_0
+#if !NETCOREAPP2_0 && !NETCOREAPP2_1
             if (!Os.IsWindows)
             {
                 yield break;
@@ -446,4 +446,4 @@ namespace Apache.Ignite.Core.Impl.Unmanaged.Jni
             internal static extern JniResult 
JNI_GetDefaultJavaVMInitArgs(JvmInitArgs* args);
         }
     }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/67f40862/modules/platforms/dotnet/Apache.Ignite.Linq/Impl/MethodVisitor.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Linq/Impl/MethodVisitor.cs 
b/modules/platforms/dotnet/Apache.Ignite.Linq/Impl/MethodVisitor.cs
index 84bd98f..375c7a8 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Linq/Impl/MethodVisitor.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Linq/Impl/MethodVisitor.cs
@@ -54,7 +54,7 @@ namespace Apache.Ignite.Linq.Impl
         {
             GetStringMethod("ToLower", new Type[0], GetFunc("lower")),
             GetStringMethod("ToUpper", new Type[0], GetFunc("upper")),
-            GetStringMethod("Contains", del: (e, v) => VisitSqlLike(e, v, "'%' 
|| ? || '%'")),
+            GetStringMethod("Contains", new[] {typeof (string)}, (e, v) => 
VisitSqlLike(e, v, "'%' || ? || '%'")),
             GetStringMethod("StartsWith", new[] {typeof (string)}, (e, v) => 
VisitSqlLike(e, v, "? || '%'")),
             GetStringMethod("EndsWith", new[] {typeof (string)}, (e, v) => 
VisitSqlLike(e, v, "'%' || ?")),
             GetStringMethod("IndexOf", new[] {typeof (string)}, 
GetFunc("instr", -1)),
@@ -72,7 +72,7 @@ namespace Apache.Ignite.Linq.Impl
             GetStringMethod("PadRight", "rpad", typeof (int), typeof (char)),
 
             GetRegexMethod("Replace", "regexp_replace", typeof (string), 
typeof (string), typeof (string)),
-            GetRegexMethod("Replace", "regexp_replace", typeof (string), 
typeof (string), typeof (string), 
+            GetRegexMethod("Replace", "regexp_replace", typeof (string), 
typeof (string), typeof (string),
                 typeof(RegexOptions)),
             GetRegexMethod("IsMatch", "regexp_like", typeof (string), typeof 
(string)),
             GetRegexMethod("IsMatch", "regexp_like", typeof (string), typeof 
(string), typeof(RegexOptions)),
@@ -205,7 +205,7 @@ namespace Apache.Ignite.Linq.Impl
         /// <summary>
         /// Visits the instance function.
         /// </summary>
-        private static void VisitFunc(MethodCallExpression expression, 
CacheQueryExpressionVisitor visitor, 
+        private static void VisitFunc(MethodCallExpression expression, 
CacheQueryExpressionVisitor visitor,
             string func, string suffix, params int[] adjust)
         {
             visitor.ResultBuilder.Append(func).Append("(");
@@ -358,7 +358,7 @@ namespace Apache.Ignite.Linq.Impl
         private static KeyValuePair<MethodInfo, VisitMethodDelegate> 
GetParameterizedTrimMethod(string name,
             string sqlName)
         {
-            return GetMethod(typeof(string), name, new[] {typeof(char[])}, 
+            return GetMethod(typeof(string), name, new[] {typeof(char[])},
                 (e, v) => VisitParameterizedTrimFunc(e, v, sqlName));
         }
 
@@ -379,4 +379,4 @@ namespace Apache.Ignite.Linq.Impl
             return GetMathMethod(name, name, argTypes);
         }
     }
-}
\ No newline at end of file
+}

Reply via email to