/// <summary> /// Gets flags of a specified field. /// </summary> /// <param name="fieldIndex">An index of the field.</param> /// <returns>The field length or 0.</returns> public ColumnFlags GetFieldFlags(int fieldIndex) { if (!CheckFieldIndex(fieldIndex)) { return(0); } return(MySqlDataReaderHelper.colFlags(MySqlDataReaderHelper.fields_index(MySqlDataReaderHelper.ResultSet((MySqlDataReader)Reader), fieldIndex))); // ((MySqlDataReader)Reader).GetFieldFlags(fieldIndex); }
/// <summary> /// Collect additional information about current row of Reader. /// </summary> /// <returns>An array of <see cref="FieldCustomData"/>.</returns> protected override object GetCustomData() { MySqlDataReader my_reader = (MySqlDataReader)Reader; var data = new FieldCustomData[my_reader.FieldCount]; var resultset = MySqlDataReaderHelper.ResultSet(my_reader); for (int i = 0; i < my_reader.FieldCount; i++) { var field = MySqlDataReaderHelper.fields_index(resultset, i); data[i] = new FieldCustomData() { Flags = MySqlDataReaderHelper.colFlags(field), //my_reader.GetFieldFlags(i), RealTableName = MySqlDataReaderHelper.RealTableName(field), //my_reader.GetRealTableName(i), ColumnSize = MySqlDataReaderHelper.GetColumnSize(field) //my_reader.GetColumnSize(i) }; } return(data); }