Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.

Commit 344d6c9

Browse files
committed
ensure columns is not list type and avoid flacky ordered of columns
1 parent 6a44b4f commit 344d6c9

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

bigframes/session/loader.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def _to_index_cols(
9898

9999
def _check_column_duplicates(
100100
index_cols: Iterable[str], columns: Iterable[str], is_index_in_columns: bool
101-
) -> List[str]:
101+
) -> Iterable[str]:
102102
index_cols_list = list(index_cols) if index_cols is not None else []
103103
columns_list = list(columns) if columns is not None else []
104104
set_index = set(index_cols_list)
@@ -111,7 +111,7 @@ def _check_column_duplicates(
111111
)
112112

113113
if len(columns_list) == 0:
114-
return columns_list
114+
return columns
115115

116116
if len(columns_list) > len(set_columns):
117117
raise ValueError(
@@ -125,14 +125,14 @@ def _check_column_duplicates(
125125
f"The specified index column(s) were not found: {set_index - set_columns}. "
126126
f"Available columns are: {set_columns}"
127127
)
128-
return list(set_columns - set_index)
128+
return [col for col in columns if col not in set_index]
129129
else:
130130
if not set_index.isdisjoint(set_columns):
131131
raise ValueError(
132132
"Found column names that exist in both 'index_col' and 'columns' arguments. "
133133
"These arguments must specify distinct sets of columns."
134134
)
135-
return columns_list
135+
return columns
136136

137137

138138
@dataclasses.dataclass
@@ -533,7 +533,9 @@ def read_gbq_table(
533533
index_col=index_col,
534534
names=names,
535535
)
536-
columns = _check_column_duplicates(index_cols, columns, is_index_in_columns)
536+
columns = list(
537+
_check_column_duplicates(index_cols, columns, is_index_in_columns)
538+
)
537539

538540
for key in index_cols:
539541
if key not in table_column_names:

0 commit comments

Comments
 (0)