@@ -803,15 +803,20 @@ def sample_metadata(
803803 # Extract column names from comparison expressions in the query.
804804 # Match patterns like: column == 'value' or column == "value"
805805 referenced_cols = re .findall (
806- r"\b(\w+)\s*[=!<>]+\s*['\"]" , prepared_sample_query
806+ r"\b(\w+)\s*[=!<>]+\s*['\"]" , prepared_sample_query
807807 )
808808
809809 hint_lines = [
810- f"sample_metadata() returned 0 samples for the given "
811- f"query: { prepared_sample_query !r} ." ,
812- "Note: string comparisons in sample_query are "
813- "case-sensitive." ,
810+ f"sample_metadata() returned 0 samples for the given query: { prepared_sample_query !r} ." ,
814811 ]
812+
813+ # Only add the case-sensitivity hint when the query
814+ # contains quoted string literals (not numeric-only).
815+ if re .search (r"['\"].+?['\"]" , prepared_sample_query ):
816+ hint_lines .append (
817+ "Note: string comparisons in sample_query are case-sensitive."
818+ )
819+
815820 # For each referenced string column, list valid values.
816821 for col in dict .fromkeys (referenced_cols ): # deduplicate
817822 if (
@@ -821,9 +826,14 @@ def sample_metadata(
821826 valid_vals = sorted (
822827 df_before_query [col ].dropna ().unique ().tolist ()
823828 )
824- hint_lines .append (
825- f"Valid values for column { col !r} : { valid_vals } "
826- )
829+ if len (valid_vals ) > 20 :
830+ hint_lines .append (
831+ f"Valid values for column { col !r} (showing 20 of { len (valid_vals )} ): { valid_vals [:20 ]} "
832+ )
833+ else :
834+ hint_lines .append (
835+ f"Valid values for column { col !r} : { valid_vals } "
836+ )
827837
828838 warnings .warn ("\n " .join (hint_lines ), UserWarning , stacklevel = 2 )
829839
0 commit comments