using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using MessagePack;
using System.Runtime.InteropServices;

namespace MsgPackStruct
{
    public class MsgStruct
    {
        // 조회한 데이터의 각 컬럼과 결과 값
        [MessagePackObject]
        [StructLayout(LayoutKind.Sequential)]
        public struct DataStc
        {
            [Key(0)]
            public string col_name;
            [Key(1)]
            public string col_data;
        }

        // 조회된 데이터 row 리스트
        [MessagePackObject]
        [StructLayout(LayoutKind.Sequential)]
        public struct DataListStc
        {
            [Key(0)]
            public List<DataStc> data_list;
        }

        // 조회된 전체 데이터 리스트
        [MessagePackObject]
        [StructLayout(LayoutKind.Sequential)]
        public struct RowListStc
        { 
            [Key(0)]
            public string schema;
            [Key(1)]
            public string table;
            [Key(2)]
            public List<DataListStc> row_list;
        }
    }
}
