This is an automated email from the ASF dual-hosted git repository.

ptupitsyn pushed a commit to branch ignite-27278
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 8afd38005c6d41d205f14d881060240f5083fb5a
Author: Pavel Tupitsyn <[email protected]>
AuthorDate: Tue Dec 23 13:00:10 2025 +0200

    wip SQL
---
 .../dotnet/Apache.Ignite/Internal/Sql/ColumnMetadata.cs          | 3 ++-
 modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs       | 9 ++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/ColumnMetadata.cs 
b/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/ColumnMetadata.cs
index 25390da864b..5294149dc89 100644
--- a/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/ColumnMetadata.cs
+++ b/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/ColumnMetadata.cs
@@ -18,6 +18,7 @@
 namespace Apache.Ignite.Internal.Sql;
 
 using Ignite.Sql;
+using Ignite.Table.Mapper;
 
 /// <summary>
 /// Column metadata.
@@ -29,4 +30,4 @@ using Ignite.Sql;
 /// <param name="Nullable">Whether column is nullable.</param>
 /// <param name="Origin">Origin.</param>
 internal sealed record ColumnMetadata(string Name, ColumnType Type, int 
Precision, int Scale, bool Nullable, IColumnOrigin? Origin)
-    : IColumnMetadata;
+    : IColumnMetadata, IMapperColumn;
diff --git a/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs 
b/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs
index 038b50f03f2..67afc62332e 100644
--- a/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs
+++ b/modules/platforms/dotnet/Apache.Ignite/Internal/Sql/Sql.cs
@@ -33,6 +33,7 @@ namespace Apache.Ignite.Internal.Sql
     using Proto;
     using Proto.BinaryTuple;
     using Proto.MsgPack;
+    using Table;
     using Table.Serialization;
     using Transactions;
 
@@ -86,7 +87,13 @@ namespace Apache.Ignite.Internal.Sql
             // TODO: Cache or avoid allocation?
             RowReaderFactory<T> rowReaderFactory = cols =>
             {
-                return (IReadOnlyList<IColumnMetadata> list, ref 
BinaryTupleReader reader) => { return default(T)!; };
+                return (IReadOnlyList<IColumnMetadata> list, ref 
BinaryTupleReader reader) =>
+                {
+                    var mapperCols = list.Cast<IMapperColumn>().ToList();
+
+                    var mapperReader = new RowReader(ref reader, mapperCols);
+                    return mapper.Read(ref mapperReader, new 
MapperSchema(mapperCols));
+                };
             };
 
             return await ExecuteAsyncInternal(

Reply via email to