MCPcopy Create free account
hub / github.com/ByConity/ByConity / planSampling

Method planSampling

src/QueryPlan/QueryPlanner.cpp:1851–1868  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1849}
1850
1851void QueryPlannerVisitor::planSampling(PlanBuilder & builder, ASTSelectQuery & select_query)
1852{
1853 if (select_query.sampleSize() && context->getSettingsRef().enable_final_sample)
1854 {
1855 ASTSampleRatio * sample = select_query.sampleSize()->as<ASTSampleRatio>();
1856 ASTSampleRatio::BigNum numerator = sample->ratio.numerator;
1857 ASTSampleRatio::BigNum denominator = sample->ratio.denominator;
1858 if (numerator <= 1 || denominator > 1)
1859 {
1860 return;
1861 }
1862 else
1863 {
1864 auto sampling = std::make_unique<FinalSampleStep>(builder.getCurrentDataStream(), numerator, context->getSettingsRef().max_block_size);
1865 builder.addStep(std::move(sampling));
1866 }
1867 }
1868}
1869
1870RelationPlan QueryPlannerVisitor::planFinalSelect(PlanBuilder & builder, ASTSelectQuery & select_query)
1871{

Callers

nothing calls this directly

Calls 2

sampleSizeMethod · 0.80
addStepMethod · 0.45

Tested by

no test coverage detected