From abe20c8f055056135d9be6db894db4e7b913cff7 Mon Sep 17 00:00:00 2001 From: Yahor Yuzefovich Date: Fri, 19 Mar 2021 20:57:14 -0700 Subject: [PATCH] colbuilder: use correct processorID for wrapped filterers We forgot to use the correct processorID when planning wrapped filterers which resulted in stats from those processors to be always attributed to a processor with ID = 0. Release note: None (no stable release with this bug) --- pkg/sql/colexec/colbuilder/execplan.go | 10 +++++++--- .../testdata/logic_test/inverted_index_geospatial | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/pkg/sql/colexec/colbuilder/execplan.go b/pkg/sql/colexec/colbuilder/execplan.go index 29c112f6464d..064ae7172b96 100644 --- a/pkg/sql/colexec/colbuilder/execplan.go +++ b/pkg/sql/colexec/colbuilder/execplan.go @@ -770,7 +770,9 @@ func NewColOperator( result.ColumnTypes = make([]*types.T, len(spec.Input[0].ColumnTypes)) copy(result.ColumnTypes, spec.Input[0].ColumnTypes) result.Op = inputs[0] - if err := result.planAndMaybeWrapFilter(ctx, flowCtx, evalCtx, args, core.Filterer.Filter, factory); err != nil { + if err := result.planAndMaybeWrapFilter( + ctx, flowCtx, evalCtx, args, spec.ProcessorID, core.Filterer.Filter, factory, + ); err != nil { return r, err } @@ -1070,7 +1072,7 @@ func NewColOperator( if !core.HashJoiner.OnExpr.Empty() && core.HashJoiner.Type == descpb.InnerJoin { if err = result.planAndMaybeWrapFilter( - ctx, flowCtx, evalCtx, args, core.HashJoiner.OnExpr, factory, + ctx, flowCtx, evalCtx, args, spec.ProcessorID, core.HashJoiner.OnExpr, factory, ); err != nil { return r, err } @@ -1124,7 +1126,7 @@ func NewColOperator( if onExpr != nil { if err = result.planAndMaybeWrapFilter( - ctx, flowCtx, evalCtx, args, *onExpr, factory, + ctx, flowCtx, evalCtx, args, spec.ProcessorID, *onExpr, factory, ); err != nil { return r, err } @@ -1370,6 +1372,7 @@ func (r opResult) planAndMaybeWrapFilter( flowCtx *execinfra.FlowCtx, evalCtx *tree.EvalContext, args *colexecargs.NewColOperatorArgs, + processorID int32, filter execinfrapb.Expression, factory coldata.ColumnFactory, ) error { @@ -1393,6 +1396,7 @@ func (r opResult) planAndMaybeWrapFilter( Filter: filter, }, }, + ProcessorID: processorID, ResultTypes: args.Spec.ResultTypes, } return r.createAndWrapRowSource( diff --git a/pkg/sql/logictest/testdata/logic_test/inverted_index_geospatial b/pkg/sql/logictest/testdata/logic_test/inverted_index_geospatial index 8b8453a0950f..e93f113a38c1 100644 --- a/pkg/sql/logictest/testdata/logic_test/inverted_index_geospatial +++ b/pkg/sql/logictest/testdata/logic_test/inverted_index_geospatial @@ -68,7 +68,7 @@ network usage: table: geo_table@geom_index spans: 31 spans · -Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJzMVeFO20gQ_n9PMZo_gM6n7NomF_Z0Ug4w17SFICdqheoIGXsKFo7X3d1URiiP1Rfok1Vrh5QQxRBVrZofG8238012vm92c4_6U44CR8Hb4GgMt3ASDk_hmuSlia9ygvevgjAAbS6zwpDSlBi9uzMKB8f_ut0D3vvnfDg4G-_6jDHmQf3FvL0dIf4PhqfBOLxwbK3pHgzD4yCEwwu4RQcLmdJZPCWN4gNynDhYKpmQ1lJZ6L5OGKQVCuZgVpQzY-GJg4lUhOIeTWZyQoFje8aQ4pRUh6GDKZk4y-uyyxb69gCXWZFShQ6OyrjQAjoRHkZR9TGNooqzKKrYcwv-tS2HRwhxkYLHQJobUhoXzYCZlTlpAe4S0SbOczDZlASwr19s6pt3a3EiC0OFyWSxnlqXBEVxKsBvsKs7s4Q8Fw7RwavYJDekQc5MOTMCrGgL6gPk42TuYBMtZNcmviYUfO683JpB8ZmUofQkyw0pUh2-6s_DflCVCmQBfS5AW3OsFsqIWmzv7_0oYi6LIsaeWxCoSLelWY_WTBpaGfp8zS6_zS6qKJmtWzONK5jSVKo7iPNcJrGhVACrzbB7OlHWEkgzfbue8QK73I12udvY9VpmxeIiuZsuUqmyaazuvivk9N1fNtPu-kzzbi3SBuV_SDtvG-2WI-6tKtfg4unryTjj9p10mdvtHrDHn6Puf7zn8ybosR7v-X7g8x3x-EHtu3srQ_oz-ve36X8klSHV8Ve77_M_f8trsb9NayHpUhaaVlrbVJnNJw5Sek3Nn5iWM5XQuZJJ_TNNOKx5NZCSNs0ub4JB0WzZAz4m81ay2052W8leO9lrJfvtZL-VvP-EPJn_8S0AAP__tjbCIA== +Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJzMldFO20oQhu_PU4zmBtDxUXZtkxO2qpQCpk1bCHKiVqiOkLGnYOHsurubygjlsfoCfbLKdqCEKIYIVWouHM0__jc738xubtF8y1HgKPgYHIzhGo7C4TFckjq38UVO8PldEAZg7HkmLWlDiTXbW6NwcPja7e7x3qvT4eBkvO0zxpgH9RfzdraEeBsMj4NxeOZUa013YBgeBiHsn8E1OihVSifxlAyKL8hx4mChVULGKF1Jt_ULg7REwRzMZDGzlTxxMFGaUNyizWxOKHBc7TGkOCXdYehgSjbO8nrZ-xL61QbOM5lSiQ6OilgaAZ0I96Oo_JpGUclZFJXsqQf-t6mHRwixTMFjoOwVaYMOfvgENpuSAPbzxyJOlLQkbabkSsrOipwMaIpTAX6jXdzYe8lzYR8dvIhtckUG1MwWMyugIrGw3kk-TuYONtGCpbHxJaHgc-f5vAfyO2lL6VGWW9KkO3wZ-l0-KAsNSkKfCzAVcTA21lbUBL3_d6OIuSyKGHvqgUAy3dRWgV8hP6ww9Kv91gUu2DZYG8XYOM-Xe0AlJbPV1kzjEqY0VfoG4jxXSWwpFcDqZlQ5k-iqJZBm5nr1jWe0y13bLneTdr1XmVycDnfd6Sh0No31zW9CTt9dgeS2QXrBTLurM827NaQ15F_EztuE3f2Ie8vkGl08vhIZZ7y6_Fzmdrt77OHnoPuG93zeBD3W4z3fD3y-JR7ekn13p2VIW_n_CVT-JqhGSlvSHX8ZVJ__-1eeoN1NSgvJFEoaWipt3cpsPnGQ0ktq_sSMmumETrVK6p9pwmHtq4WUjG2yvAkGsklVG3xo5q1mt93stpq9drPXavbbzX6refeReTL_51cAAAD__89JwiA= statement ok DROP TABLE geo_table @@ -144,7 +144,7 @@ network usage: table: geo_table@geom_index spans: 31 spans · -Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJzMVe1O40YU_d-nuLp_ANVVZmyThqkqpYBpUwpBTkSF6ggZ-xYsnBnvzGQVhPJY-wL7ZKuxQ5YQ4d0IrUR-THQ_zs2cc2Ymj2g-lChwFP0THY3hHk7i4Rnckrq26U1J8O9fURyBsdeFtKQNZdbs7oziwfHvfveA9367GA7Ox7shY4wFUH-xYG9HiD-j4Vk0jq88N2u6B8P4OIrh8Aru0UOpcjpPp2RQ_IccJx5WWmVkjNIu9Vg3DPI5CuZhIauZdemJh5nShOIRbWFLQoFjt8eY0px0h6GHOdm0KOuxKwp9t4HrQuY0Rw9HVSqNgE6Ch0ky_z9PkjkL3MK-seAv22J4gpDKHAIGyt6RNrgkA3ZWlWQE-KuMsWlZgi2mJIB9_uRaTy834kxJS9IWSm621iNBU5o3c08v4ebBrlK8C4fo4U1qszsyoGa2mlkBTrQl9Cnl42ThYRMtZTc2vSUUfOF9vzUD-ZG0pfykKC1p0h2-7s9TPZpXGpSEPhdgnDlOC21FLXbw636SMCc2c5q2Lggk821hzqMNk4ZOhj7fzi6aUzbbtGaazmFKU6UfIC1LlaWWcgGsNsPVTKadJZAX5n6z4012-dvY9bcq5PIi-a9dpEoX01Q_fFXI6_vv4Ey_ovybtAu20W51xIN15Zq8ePl6Ms64eyd95ne7B-z556j7B--FvAl6rMd7YRiFfEc8f1D7_t7aIf0R_MNt-I-UtqQ74Tr7Pv_5XV6L_W2oxWQqJQ2tUXttMltMPKT8lpo_MaNmOqMLrbL6Z5pwWOPqRE7GNlXeBAPZlNwGn4N5K9hvB_ut4KAdHLSCw3Zw2ArefwGeLH76EgAA___HocIi +Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJzMleFO2zoUx7_fpzg6XwDdXNVOQm_x1ZU6IGzdBkVptQktFQrJGUSkdma7UxHqY-0F9mSTk8IoFdkqNmn94Or8j_-uz-_Y7i2aTyUKHEVvo4MxXMNRPDyGS1LnNr0oCd6_iuIIjD0vpCVtKLNme2sUDw7_97t7vPff6XBwMt4OGWMsgPqLBTtbQryMhsfROD7z3FrTHRjGh1EM-2dwjR5KldNJOiWD4gNynHhYaZWRMUo76baeMMjnKJiHhaxm1skTDzOlCcUt2sKWhALHbo8xpTnpDkMPc7JpUdbL3pfQdxs4L2ROc_RwVKXSCOgkuJ8k8495ksxZ4Ab2gwH_2dTDE4RU5hAwUPaKtEEP37wDW0xJAPv6ZRlnSlqStlByLWVnVUkGNKW5AL_RLm7svcS7sI8eXqQ2uyIDamarmRXgSCytd5KPk4WHTbRkaWx6SSj4wvt53gP5mbSl_KgoLWnSHb4K_S4fzSsNSkKfCzCOOBibaitqgsG_u0nCHEHmQLUOCCTzTW0O_Br5ocPQd_utC1yybbA2irFpWa72gOaUzdZbM03nMKWp0jeQlqXKUku5AFY3w-VMpl1LIC_M9fqMZ7XL36Rdr1Uhl7fDf-p2VLqYpvrmOyGv728G6bec6SfIP4tdsAm7-yMerJJrdPH4SWSccff4-czvdvfYw89B9wXvhbwJeqzHe2EYhXxLPHwl-_7OLz6kz0IVboJqpLQl3QlXQfX533_kDdrdpLSYTKWkoZXSnlqZLSYeUn5JzZ-YUTOd0alWWf0zTTisfbWQk7FNljfBQDYpt8GHZt5q9tvNfqs5aDcHreaw3Ry2mncfmSeLv74FAAD__-BewiI= # Also works when creating an index. statement ok @@ -196,4 +196,4 @@ network usage: table: geo_table@geom_index spans: 31 spans · -Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJzMVe1O40YU_d-nuLp_ANVVZmyThqkqpYBpUwpBTkSF6ggZ-xYsnBnvzGQVhPJY-wL7ZKuxQ5YQ4d0IrUR-THQ_zs2cc2Ymj2g-lChwFP0THY3hHk7i4Rnckrq26U1J8O9fURyBsdeFtKQNZdbs7oziwfHvfveA9367GA7Ox7shY4wFUH-xYG9HiD-j4Vk0jq88N2u6B8P4OIrh8Aru0UOpcjpPp2RQ_IccJx5WWmVkjNIu9Vg3DPI5CuZhIauZdemJh5nShOIRbWFLQoFjt8eY0px0h6GHOdm0KOuxKwp9t4HrQuY0Rw9HVSqNgE6Ch0ky_z9PkjkL3MK-seAv22J4gpDKHAIGyt6RNrgkA3ZWlWQE-KuMsWlZgi2mJIB9_uRaTy834kxJS9IWSm621iNBU5o3c08v4ebBrlK8C4fo4U1qszsyoGa2mlkBTrQl9Cnl42ThYRMtZTc2vSUUfOF9vzUD-ZG0pfykKC1p0h2-7s9TPZpXGpSEPhdgnDlOC21FLXbw636SMCc2c5q2Lggk821hzqMNk4ZOhj7fzi6aUzbbtGaazmFKU6UfIC1LlaWWcgGsNsPVTKadJZAX5n6z4012-dvY9bcq5PIi-a9dpEoX01Q_fFXI6_vv4Ey_ovybtAu20W51xIN15Zq8ePl6Ms64eyd95ne7B-z556j7B--FvAl6rMd7YRiFfEc8f1D7_t7aIf0R_MNt-I-UtqQ74Tr7Pv_5XV6L_W2oxWQqJQ2tUXttMltMPKT8lpo_MaNmOqMLrbL6Z5pwWOPqRE7GNlXeBAPZlNwGn4N5K9hvB_ut4KAdHLSCw3Zw2ArefwGeLH76EgAA___HocIi +Diagram: https://cockroachdb.github.io/distsqlplan/decode.html#eJzMleFO2zoUx7_fpzg6XwDdXNVOQm_x1ZU6IGzdBkVptQktFQrJGUSkdma7UxHqY-0F9mSTk8IoFdkqNmn94Or8j_-uz-_Y7i2aTyUKHEVvo4MxXMNRPDyGS1LnNr0oCd6_iuIIjD0vpCVtKLNme2sUDw7_97t7vPff6XBwMt4OGWMsgPqLBTtbQryMhsfROD7z3FrTHRjGh1EM-2dwjR5KldNJOiWD4gNynHhYaZWRMUo76baeMMjnKJiHhaxm1skTDzOlCcUt2sKWhALHbo8xpTnpDkMPc7JpUdbL3pfQdxs4L2ROc_RwVKXSCOgkuJ8k8495ksxZ4Ab2gwH_2dTDE4RU5hAwUPaKtEEP37wDW0xJAPv6ZRlnSlqStlByLWVnVUkGNKW5AL_RLm7svcS7sI8eXqQ2uyIDamarmRXgSCytd5KPk4WHTbRkaWx6SSj4wvt53gP5mbSl_KgoLWnSHb4K_S4fzSsNSkKfCzCOOBibaitqgsG_u0nCHEHmQLUOCCTzTW0O_Br5ocPQd_utC1yybbA2irFpWa72gOaUzdZbM03nMKWp0jeQlqXKUku5AFY3w-VMpl1LIC_M9fqMZ7XL36Rdr1Uhl7fDf-p2VLqYpvrmOyGv728G6bec6SfIP4tdsAm7-yMerJJrdPH4SWSccff4-czvdvfYw89B9wXvhbwJeqzHe2EYhXxLPHwl-_7OLz6kz0IVboJqpLQl3QlXQfX533_kDdrdpLSYTKWkoZXSnlqZLSYeUn5JzZ-YUTOd0alWWf0zTTisfbWQk7FNljfBQDYpt8GHZt5q9tvNfqs5aDcHreaw3Ry2mncfmSeLv74FAAD__-BewiI=