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)