List<Column?>? get resolvedTargetColumns { if (columns.isEmpty) return null; return columns.map((c) => c.resolvedColumn).toList(); }