File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed
src/IoTSharp.Data.Taos/Driver Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -256,23 +256,28 @@ static public IntPtr Query(IntPtr conn, string command)
256256
257257 public static List < TDengineMeta > FetchFields ( IntPtr res )
258258 {
259+ // const int fieldSize = 68;
260+
259261 List < TDengineMeta > metas = new List < TDengineMeta > ( ) ;
262+ if ( res == IntPtr . Zero )
263+ {
264+ return metas ;
265+ }
260266
261267 int fieldCount = FieldCount ( res ) ;
262268 IntPtr fieldsPtr = taos_fetch_fields ( res ) ;
263269
264270 for ( int i = 0 ; i < fieldCount ; ++ i )
265271 {
266272 int offset = i * ( int ) TaosField . STRUCT_SIZE ;
267- #if NET45
268- taosField field = ( taosField ) Marshal . PtrToStructure ( fieldsPtr + offset , typeof ( taosField ) ) ;
269- #else
270- taosField field = Marshal . PtrToStructure < taosField > ( fieldsPtr + offset ) ;
271- #endif
272- TDengineMeta meta = new TDengineMeta ( ) { name = Encoding . Default . GetString ( field . name ) ? . TrimEnd ( '\0 ' ) , size = field . bytes , type = field . type } ;
273+ TDengineMeta meta = new TDengineMeta ( ) ;
274+ meta . name = Marshal . PtrToStringAnsi ( fieldsPtr + offset ) ;
275+ meta . type = Marshal . ReadByte ( fieldsPtr + offset + ( int ) TaosField . TYPE_OFFSET ) ;
276+ meta . size = Marshal . ReadInt16 ( fieldsPtr + offset + ( int ) TaosField . BYTES_OFFSET ) ;
273277 metas . Add ( meta ) ;
274278 }
275279
280+
276281 return metas ;
277282 }
278283
You can’t perform that action at this time.
0 commit comments