Pavel Tupitsyn created IGNITE-27705:
---------------------------------------

             Summary: .NET: Primitive mapping requires reflection
                 Key: IGNITE-27705
                 URL: https://issues.apache.org/jira/browse/IGNITE-27705
             Project: Ignite
          Issue Type: Bug
          Components: platforms ai3, thin clients ai3
            Reporter: Pavel Tupitsyn
            Assignee: Pavel Tupitsyn
             Fix For: 3.2


*table.GetKeyValueView<Guid, string>()* requires reflection, which is 
unexpected with simple native types.

I was trying to make a small demo and run it with `dotnet run app.cs` 
(https://devblogs.microsoft.com/dotnet/announcing-dotnet-run-app/), and it 
failed to run:

{code}
Unhandled exception. System.PlatformNotSupportedException: Dynamic code 
generation is not supported on this platform.
   at System.Reflection.Emit.AssemblyBuilder.ThrowDynamicCodeNotSupported()
   at System.Reflection.Emit.AssemblyBuilder.EnsureDynamicCodeSupported()
   at System.Reflection.Emit.DynamicMethod.Init(String name, MethodAttributes 
attributes, CallingConventions callingConvention, Type returnType, Type[] 
signature, Type owner, Module m, Boolean skipVisibility, Boolean 
transparentMethod)
   at System.Reflection.Emit.DynamicMethod..ctor(String name, Type returnType, 
Type[] parameterTypes, Module m, Boolean skipVisibility)
   at 
Apache.Ignite.Internal.Table.Serialization.ObjectSerializerHandler`1.EmitWriter(Schema
 schema, Boolean keyOnly)
   at 
Apache.Ignite.Internal.Table.Serialization.ObjectSerializerHandler`1.Write(BinaryTupleBuilder&
 tupleBuilder, T record, Schema schema, Boolean keyOnly, Span`1 noValueSet)
   at 
Apache.Ignite.Internal.Table.Serialization.IRecordSerializerHandler`1.Write(MsgPackWriter&
 writer, Schema schema, T record, Boolean keyOnly, Boolean computeHash)
   at 
Apache.Ignite.Internal.Table.Serialization.RecordSerializer`1.WriteWithHeader(MsgPackWriter&
 w, Nullable`1 txId, Schema schema, T rec, Boolean keyOnly)
   at 
Apache.Ignite.Internal.Table.Serialization.RecordSerializer`1.Write(PooledArrayBuffer
 buf, Nullable`1 txId, Schema schema, T rec, Boolean keyOnly)
   at Apache.Ignite.Internal.Table.RecordView`1.DoRecordOutOpAsync(ClientOp op, 
ITransaction transaction, T record, Boolean keyOnly, Nullable`1 
schemaVersionOverride)
   at Apache.Ignite.Internal.Table.RecordView`1.UpsertAsync(ITransaction 
transaction, T record)
   at Apache.Ignite.Internal.Table.KeyValueView`2.PutAsync(ITransaction 
transaction, TK key, TV val)
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to