upsert method

Future<RawRowData> upsert(
  1. FieldData fieldData,
  2. WhereData whereData
)

Implementation

Future<RawRowData> upsert(FieldData fieldData, WhereData whereData) async {
  if (!initialized) throw ArgumentError(C_MUST_INIT);
  try {
    await select(fieldData, whereData);
    await update(fieldData, whereData);
  } on SqlException catch (e) {
    if (e.sqlExceptionEnum == SqlExceptionEnum.ENTRY_NOT_FOUND ||
        e.sqlExceptionEnum == SqlExceptionEnum.FAILED_SELECT) {
      await insert(fieldData);
    }
  }
  return fieldData.getRawRowData();
}