◐ Shell
clean mode source ↗

fix: Use SELECT * when feature_name_columns is empty in pull_all_from_table_or_query by abhijeet-dhumal · Pull Request #6311 · feast-dev/feast

@abhijeet-dhumal abhijeet-dhumal changed the title Fix: if feature_name_columns is empty, use SELECT * so the UDF recei… fix(spark): use SELECT * when feature_name_columns is empty in pull_all_from_table_or_query

Apr 22, 2026

devin-ai-integration[bot]

@ntkathole ntkathole changed the title fix(spark): use SELECT * when feature_name_columns is empty in pull_all_from_table_or_query fix: Use SELECT * when feature_name_columns is empty in pull_all_from_table_or_query

Apr 22, 2026

ntkathole

…ll_from_table_or_query

pull_all_from_table_or_query always builds an explicit SELECT projection
from join_key_columns + feature_name_columns + timestamp_fields.
When feature_name_columns=[] — the "read all source columns" signal used
by FeatureBuilder.get_column_info for BatchFeatureView with
TransformationMode.PYTHON, ray, and pandas — the generated SQL becomes:

  SELECT user_id, event_timestamp FROM source WHERE ...

All raw feature columns (rating, text, helpful_vote, …) are silently
dropped. The UDF receives a 2-column DataFrame and every aggregation
returns null or fails.

Fix: guard on feature_name_columns being non-empty before building the
explicit projection; fall through to SELECT * when it is empty.

Signed-off-by: abhijeet-dhumal <abhijeetdhumal652@gmail.com>