Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DX-61115 handle + sign during parsing +infinity double value #31

Closed
wants to merge 1 commit into from
Closed

Conversation

xxlaykxx
Copy link

@xxlaykxx xxlaykxx commented Jul 4, 2023

Apache Arrow used [https://github.com/fastfloat/fast_float](fast_float lib). In latest version was added same code but in preprocessing block that undefined by default. Updating to latest version require al lot of code changes inside arrow, ci. So it will be easier to add this block directly to dremio until the version will be updated in apache arrow repo.

@github-actions
Copy link

github-actions bot commented Jul 4, 2023

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

In the case of PARQUET issues on JIRA the title also supports:

PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

See also:

@@ -30,6 +30,9 @@ from_chars_result parse_infnan(const char *first, const char *last, T &value) n
minusSign = true;
++first;
}
if (*first == '+') {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment at line 29 "C++17 20.19.3.(7.1) explicitly forbids '+' here" seems to be outdated

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not really, in fast_float version of 3.10.1( current is 3.8.1) https://github.com/fastfloat/fast_float/blob/main/include/fast_float/parse_number.h

was added

#ifdef FASTFLOAT_ALLOWS_LEADING_PLUS // disabled by default
  if (*first == UC('+')) {
      ++first;
  }

I created pr in apache arrow for updating fast_float version but i don't know when it will merged or will it be merged at all. So for now we could use this.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and i don't want to remove any comments because it's a custom lib, and will be conflict on merging

@xxlaykxx xxlaykxx closed this Jul 21, 2023
@xxlaykxx xxlaykxx deleted the DX-61115 branch July 21, 2023 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants