package advsql func (s *Store) tableStructure(tableName string) (*structure, error) { rows, err := s.db.Query("SELECT * FROM " + tableName) if err != nil { return nil, err } defer rows.Close() types, err := rows.ColumnTypes() if err != nil { return nil, err } structure := new(structure) structure.TypeName = tableName columnAmount := len(types) structure.Fields = make([]field, columnAmount) for columnIndex, columType := range types { structure.Fields[columnIndex] = field{ FieldName: columType.Name(), FieldType: columType.ScanType(), } } return structure, nil }