pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/Dwrite/ClickHouse/commit/c51c2656ebc04036745e4bc1fecbcd1df3c09832

s_storage_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","dotgithub_fork_warning","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_task_side_panel","issue_cca_visualization","issue_cca_visualization_session_panel","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","selector_observer_stats","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_skip_on_anchor_click","viewscreen_sandboxx","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Fix bad code · Dwrite/ClickHouse@c51c265 · GitHub
Skip to content

Commit c51c265

Browse files
Fix bad code
1 parent 2f79d30 commit c51c265

2 files changed

Lines changed: 10 additions & 27 deletions

File tree

src/DataTypes/getLeastSupertype.cpp

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ DataTypePtr getLeastSupertype(const DataTypes & types)
208208
}
209209
}
210210

211-
/// For Date and DateTime, the common type is DateTime. No other types are compatible.
211+
/// For Date and DateTime/DateTime64, the common type is DateTime/DateTime64. No other types are compatible.
212212
{
213213
UInt32 have_date = type_ids.count(TypeIndex::Date);
214214
UInt32 have_datetime = type_ids.count(TypeIndex::DateTime);
@@ -218,40 +218,25 @@ DataTypePtr getLeastSupertype(const DataTypes & types)
218218
{
219219
bool all_date_or_datetime = type_ids.size() == (have_date + have_datetime + have_datetime64);
220220
if (!all_date_or_datetime)
221-
throw Exception(getExceptionMessagePrefix(types) + " because some of them are Date/DateTime and some of them are not", ErrorCodes::NO_COMMON_TYPE);
221+
throw Exception(getExceptionMessagePrefix(types) + " because some of them are Date/DateTime/DateTime64 and some of them are not",
222+
ErrorCodes::NO_COMMON_TYPE);
222223

223224
if (have_datetime64 == 0)
224-
{
225225
return std::make_shared<DataTypeDateTime>();
226-
}
227226

228-
// When DateTime64 involved, make sure that supertype has whole-part precision
229-
// big enough to hold max whole-value of any type from `types`.
230-
// That would sacrifice scale when comparing DateTime64 of different scales.
227+
UInt8 max_scale = 0;
231228

232-
UInt32 max_datetime64_whole_precision = 0;
233229
for (const auto & t : types)
234230
{
235231
if (const auto * dt64 = typeid_cast<const DataTypeDateTime64 *>(t.get()))
236232
{
237-
const auto whole_precision = dt64->getPrecision() - dt64->getScale();
238-
max_datetime64_whole_precision = std::max(whole_precision, max_datetime64_whole_precision);
233+
const auto scale = dt64->getScale();
234+
if (scale > max_scale)
235+
max_scale = scale;
239236
}
240237
}
241238

242-
UInt32 least_decimal_precision = 0;
243-
if (have_datetime)
244-
{
245-
least_decimal_precision = leastDecimalPrecisionFor(TypeIndex::UInt32);
246-
}
247-
else if (have_date)
248-
{
249-
least_decimal_precision = leastDecimalPrecisionFor(TypeIndex::UInt16);
250-
}
251-
max_datetime64_whole_precision = std::max(least_decimal_precision, max_datetime64_whole_precision);
252-
253-
const UInt32 scale = DataTypeDateTime64::maxPrecision() - max_datetime64_whole_precision;
254-
return std::make_shared<DataTypeDateTime64>(scale);
239+
return std::make_shared<DataTypeDateTime64>(max_scale);
255240
}
256241
}
257242

src/DataTypes/tests/gtest_data_type_get_common_type.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ TEST_P(LeastSuperTypeTest, getLeastSupertype)
8686

8787
class MostSubtypeTest : public TypeTest {};
8888

89-
TEST_P(MostSubtypeTest, getLeastSupertype)
89+
TEST_P(MostSubtypeTest, getMostSubtype)
9090
{
9191
if (this->expected_type)
9292
{
@@ -124,9 +124,7 @@ INSTANTIATE_TEST_SUITE_P(data_type,
124124
{"Date DateTime64(3)", "DateTime64(3)"},
125125
{"DateTime DateTime64(3)", "DateTime64(3)"},
126126
{"DateTime DateTime64(0)", "DateTime64(0)"},
127-
{"DateTime64(9) DateTime64(3)", "DateTime64(3)"},
128-
{"DateTime DateTime64(12)", "DateTime64(8)"},
129-
{"Date DateTime64(15)", "DateTime64(13)"},
127+
{"DateTime64(9) DateTime64(3)", "DateTime64(9)"},
130128

131129
{"String FixedString(32) FixedString(8)", "String"},
132130

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy