fix: numeric sort for late floats + alias in WHERE method calls - #19
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three fixes:
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.
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.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.