invalidSQLsOrder method
Implementation
Map<SQLBuilder, List<SQLBuilder>> invalidSQLsOrder() {
final processed = <SQLBuilder>{};
final createTables = whereType<CreateTableSQL>().toList(growable: false);
var invalidSQLs = <SQLBuilder, List<SQLBuilder>>{};
for (var sql in this) {
if (processed.add(sql)) {
var dependentTables = sql.dependentTables;
var dependentSQLs = dependentTables
?.map((t) => createTables.getCreateTable(t))
.whereNotNull()
.toList();
var unprocessedDependencies =
dependentSQLs?.where((s) => !processed.contains(s)).toList();
if (unprocessedDependencies != null &&
unprocessedDependencies.isNotEmpty) {
invalidSQLs[sql] = unprocessedDependencies;
}
}
}
return invalidSQLs;
}