Skip to content

fix(query): to_yyyymmddhhmmss only support timestamp type #17422

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

Merged
merged 2 commits into from
Feb 7, 2025

Conversation

TCeason
Copy link
Collaborator

@TCeason TCeason commented Feb 7, 2025

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Bug Fix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that could cause existing functionality not to work as expected)
  • Documentation Update
  • Refactoring
  • Performance Improvement
  • Other (please describe):

This change is Reviewable

@github-actions github-actions bot added the pr-bugfix this PR patches a bug in codebase label Feb 7, 2025
@TCeason TCeason requested a review from sundy-li February 7, 2025 04:30
@TCeason TCeason added this pull request to the merge queue Feb 7, 2025
@sundy-li sundy-li removed this pull request from the merge queue due to a manual request Feb 7, 2025
@sundy-li
Copy link
Member

sundy-li commented Feb 7, 2025

There are also other formats need to resolve.

@TCeason
Copy link
Collaborator Author

TCeason commented Feb 7, 2025

There are also other formats need to resolve.

Only to_yyyymmddhh need to do same process. to_yyyymmdd and to_yyyymm no need to do the same process.

registry.register_passthrough_nullable_1_arg::<DateType, UInt32Type, _, _>(
        "to_yyyymm",
        |_, _| FunctionDomain::Full,
        vectorize_with_builder_1_arg::<DateType, UInt32Type>(|val, output, ctx| {
            match ToNumberImpl::eval_date::<ToYYYYMM, _>(val, ctx.func_ctx.tz.clone()) {
                Ok(t) => output.push(t),
                Err(e) => {
                    ctx.set_error(output.len(), format!("cannot parse to type `Date`. {}", e));
                    output.push(0);
                }
            }
        }),
    );
    registry.register_passthrough_nullable_1_arg::<DateType, UInt32Type, _, _>(
        "to_yyyymmdd",
        |_, _| FunctionDomain::Full,
        vectorize_with_builder_1_arg::<DateType, UInt32Type>(|val, output, ctx| {
            match ToNumberImpl::eval_date::<ToYYYYMMDD, _>(val, ctx.func_ctx.tz.clone()) {
                Ok(t) => output.push(t),
                Err(e) => {
                    ctx.set_error(output.len(), format!("cannot parse to type `Date`. {}", e));
                    output.push(0);
                }
            }
        }),
    );
    registry.register_passthrough_nullable_1_arg::<DateType, UInt64Type, _, _>(
        "to_yyyymmddhh",
        |_, _| FunctionDomain::Full,
        vectorize_with_builder_1_arg::<DateType, UInt64Type>(|val, output, ctx| {
            match ToNumberImpl::eval_date::<ToYYYYMMDDHH, _>(val, ctx.func_ctx.tz.clone()) {
                Ok(t) => output.push(t),
                Err(e) => {
                    ctx.set_error(output.len(), format!("cannot parse to type `Date`. {}", e));
                    output.push(0);
                }
            }
        }),
    );

@TCeason TCeason requested a review from sundy-li February 7, 2025 05:34
@sundy-li sundy-li added this pull request to the merge queue Feb 7, 2025
@sundy-li sundy-li removed this pull request from the merge queue due to a manual request Feb 7, 2025
@sundy-li sundy-li merged commit 5578de4 into databendlabs:main Feb 7, 2025
70 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr-bugfix this PR patches a bug in codebase
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bug: SELECT to_yyyymmddhhmmss('2023-11-12 09:38:18.165575')
2 participants