insertRelationshipSQLs method
Implementation
FutureOr<bool> insertRelationshipSQLs(
TransactionOperation op,
String entityName,
String table,
List<SQL> sqls,
dynamic id,
String otherTable,
List otherIds,
) {
if (sqls.length == 1 && sqls.first.isFullyDummy) {
return true;
}
return executeTransactionOperation(op, sqls.first, (connection) {
_logTransactionOperationSQL('insertRelationshipSQLs', op, sqls);
var retInserts =
sqls.map((sql) {
var ret = doInsertRelationshipSQL(
entityName,
sql.mainTable ?? table,
sql,
op.transaction,
connection,
);
if (sql.hasPosSQL) {
return sql.posSQL!
.map((e) {
_logTransactionOperationSQL(
'insertRelationship[POS]',
op,
e,
);
return doDeleteSQL(
entityName,
e.mainTable!,
e,
op.transaction,
connection,
);
})
.resolveAllWithValue(ret);
} else {
return ret;
}
}).resolveAll();
return retInserts.resolveWithValue(true);
});
}