Fix potential crash whne resolving columns

This commit is contained in:
Simon Binder 2023-12-07 00:10:49 +01:00
parent 633cc52129
commit 1563b99b58
No known key found for this signature in database
GPG Key ID: 7891917E4147B8C0
1 changed files with 7 additions and 5 deletions

View File

@ -366,7 +366,7 @@ class ColumnResolver extends RecursiveVisitor<ColumnResolverContext, void> {
// result, but also expressions that appear as result columns
for (final resultColumn in columns) {
if (resultColumn is StarResultColumn) {
Iterable<Column>? visibleColumnsForStar;
Iterable<Column> visibleColumnsForStar;
if (resultColumn.tableName != null) {
final tableResolver =
@ -380,9 +380,11 @@ class ColumnResolver extends RecursiveVisitor<ColumnResolverContext, void> {
continue;
}
visibleColumnsForStar =
tableResolver.resultSet.resultSet?.resolvedColumns?.map(
(tableColumn) => AvailableColumn(tableColumn, tableResolver));
visibleColumnsForStar = tableResolver
.resultSet.resultSet?.resolvedColumns
?.map((tableColumn) =>
AvailableColumn(tableColumn, tableResolver)) ??
const [];
} else {
// we have a * column without a table, that resolves to every column
// available
@ -401,7 +403,7 @@ class ColumnResolver extends RecursiveVisitor<ColumnResolverContext, void> {
}
final added =
visibleColumnsForStar!.where((e) => e.includedInResults).toList();
visibleColumnsForStar.where((e) => e.includedInResults).toList();
usedColumns.addAll(added);
resultColumn.resolvedColumns = added;