Skip to content

fix: numeric sort for late floats + alias in WHERE method calls - #19

Merged
TimelordUK merged 1 commit into
mainfrom
fix/numeric-sort-and-alias-where
Jun 7, 2026
Merged

fix: numeric sort for late floats + alias in WHERE method calls#19
TimelordUK merged 1 commit into
mainfrom
fix/numeric-sort-and-alias-where

Conversation

@TimelordUK

Copy link
Copy Markdown
Owner

Three fixes:

  1. CSV/JSON type inference only samples the first 100 rows. A column that is all integers in the sample but has a fractional value further down used to demote that value to a String, which then sorted after every number (String > Integer). DataValue::from_string now promotes such a value to Float; the final infer_column_types() pass re-merges the column to Float. Fixes e.g. ORDER BY area placing 34.2 last.

  2. WhereAliasExpander did not recurse into MethodCall/ChainedMethodCall, so a SELECT alias used as a method receiver in WHERE (DuckDB-style), e.g. SELECT "name.common" AS name ... WHERE name.Contains('united'), failed with "Column 'name' not found". The receiver is now rewritten to the aliased column when the alias resolves to a simple column.

  3. Disable the publish-chocolatey release job. The package submission has been pending Chocolatey moderation for weeks; new pushes are rejected while it is in review. Commented out with a note on re-enabling.

Three fixes:

1. CSV/JSON type inference only samples the first 100 rows. A column that
   is all integers in the sample but has a fractional value further down
   used to demote that value to a String, which then sorted after every
   number (String > Integer). DataValue::from_string now promotes such a
   value to Float; the final infer_column_types() pass re-merges the
   column to Float. Fixes e.g. ORDER BY area placing 34.2 last.

2. WhereAliasExpander did not recurse into MethodCall/ChainedMethodCall,
   so a SELECT alias used as a method receiver in WHERE (DuckDB-style),
   e.g. `SELECT "name.common" AS name ... WHERE name.Contains('united')`,
   failed with "Column 'name' not found". The receiver is now rewritten
   to the aliased column when the alias resolves to a simple column.

3. Disable the publish-chocolatey release job. The package submission has
   been pending Chocolatey moderation for weeks; new pushes are rejected
   while it is in review. Commented out with a note on re-enabling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@TimelordUK
TimelordUK merged commit 7c7290e into main Jun 7, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant