aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2022-09-14 19:47:52 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2022-09-14 19:47:52 +0300
commit2aa3f5defdef6ce85bd3599cc768c69ca8b4c950 (patch)
tree5b910a0868b8d6737454e87d8207fbbc3fcb5d5c
parent3527ca0991c82f384df1b3aa6bb8b3c809dc7ef0 (diff)
downloadydb-2aa3f5defdef6ce85bd3599cc768c69ca8b4c950.tar.gz
correct columns usage
fix class used for string view detection
-rw-r--r--ydb/core/formats/arrow_helpers.cpp2
-rw-r--r--ydb/core/tx/columnshard/columnshard__costs.cpp7
2 files changed, 5 insertions, 4 deletions
diff --git a/ydb/core/formats/arrow_helpers.cpp b/ydb/core/formats/arrow_helpers.cpp
index 6a28052da2..c83b3429ae 100644
--- a/ydb/core/formats/arrow_helpers.cpp
+++ b/ydb/core/formats/arrow_helpers.cpp
@@ -751,7 +751,7 @@ bool ScalarLess(const arrow::Scalar& x, const arrow::Scalar& y) {
using TWrap = std::decay_t<decltype(type)>;
using TScalar = typename arrow::TypeTraits<typename TWrap::T>::ScalarType;
using TValue = std::decay_t<decltype(static_cast<const TScalar&>(x).value)>;
- if constexpr (arrow::has_string_view<TScalar>()) {
+ if constexpr (arrow::has_string_view<typename TWrap::T>()) {
const auto& xval = static_cast<const TScalar&>(x).value;
const auto& yval = static_cast<const TScalar&>(y).value;
return TStringBuf((char*)xval->data(), xval->size()) < TStringBuf((char*)yval->data(), yval->size());
diff --git a/ydb/core/tx/columnshard/columnshard__costs.cpp b/ydb/core/tx/columnshard/columnshard__costs.cpp
index a8c53cf9dd..d0300f2f75 100644
--- a/ydb/core/tx/columnshard/columnshard__costs.cpp
+++ b/ydb/core/tx/columnshard/columnshard__costs.cpp
@@ -129,13 +129,14 @@ bool TKeyRanges::DeserializeFromProto(const NKikimrKqp::TEvRemoteCostData::TCost
std::shared_ptr<arrow::RecordBatch> batch = NArrow::DeserializeBatch(proto.GetColumnsData(), schema);
Y_VERIFY(batch->num_columns() == (int)ColumnsCount());
resultLocal.reserve(batch->num_rows());
+ auto& batchColumns = batch->columns();
for (ui32 rowIdx = 0; rowIdx < batch->num_rows(); ++rowIdx) {
TKeyMark mark;
- for (ui32 cIdx = 0; cIdx < ColumnsCount(); ++cIdx) {
- if (batch->column(cIdx)->IsNull(rowIdx)) {
+ for (auto&& c: batchColumns) {
+ if (c->IsNull(rowIdx)) {
break;
}
- auto valueStatus = batch->column(cIdx)->GetScalar(rowIdx);
+ auto valueStatus = c->GetScalar(rowIdx);
Y_VERIFY(valueStatus.ok());
mark.AddValue(valueStatus.ValueUnsafe());
}