doInsertSQL method

  1. @override
FutureOr doInsertSQL(
  1. String entityName,
  2. String table,
  3. SQL sql,
  4. Transaction transaction,
  5. DBSQLMemoryAdapterContext connection,
)
override

Implementation

@override
FutureOr doInsertSQL(String entityName, String table, SQL sql,
    Transaction transaction, DBSQLMemoryAdapterContext connection) {
  if (sql.isDummy) return null;

  var map = _getTableMap(table, true)!;

  var id = nextID(table);

  var entry = _normalizeEntityJSON(sql.parametersByPlaceholder,
      entityName: entityName, table: table);

  var tablesScheme = tablesSchemes[table];

  var idField = tablesScheme?.idFieldName ?? 'id';
  entry[idField] = id;

  map[id] = entry;

  _onTablesModification();

  return id;
}