addField method

void addField(
  1. int table_id,
  2. String fieldName,
  3. FieldDataType fieldDataType, {
  4. int fieldSize = 10,
  5. bool notNull = true,
  6. bool autoIncrement = false,
})

Implementation

void addField(int table_id, String fieldName, FieldDataType fieldDataType,
    {int fieldSize = 10, bool notNull = true, bool autoIncrement = false}) {
  int maxTableFieldId =
      getTableByTableId(table_id).fieldMetaDataAccess.maxTableFieldId;
  if (maxTableFieldId == 0)
    maxTableFieldId =
        getTableByTableId(table_id).table_id * C_TABLE_ID_MULTIPLIER;
  maxTableFieldId++;
  FieldMetaData fmd = getTableByTableId(table_id)
      .fieldMetaDataAccess
      .addField(maxTableFieldId, table_id, fieldName, fieldDataType,
          fieldSize, notNull, autoIncrement);
  if (_uniqueKeyTableMap.containsKey(fmd.uniqueKey))
    throw ArgumentError("uniqueKey '${fmd.uniqueKey}' must be unique");
  _uniqueKeyTableMap[fmd.uniqueKey] = table_id.toString();
}