Skip to content

Commit 7ef2e70

Browse files
authored
Merge 8efa631 into 8b1b84a
2 parents 8b1b84a + 8efa631 commit 7ef2e70

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

ydb/core/kqp/opt/kqp_query_plan.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -662,20 +662,24 @@ class TxPlanSerializer {
662662
for (const auto& keyPartRange : scanRangeDescr) {
663663
TStringBuilder rangeDescr;
664664

665+
auto removeForbiddenChars = [](std::string s) -> std::string {
666+
return IsUtf(s)? s: "Non-UTF8 string";
667+
}; /* remove chars, that break json plan */
668+
665669
if (keyPartRange.From == keyPartRange.To) {
666670
if (keyPartRange.From.Empty()) {
667671
rangeDescr << keyPartRange.ColumnName << " (-∞, +∞)";
668672
readInfo.ScanBy.push_back(rangeDescr);
669673
} else {
670674
rangeDescr << keyPartRange.ColumnName
671-
<< " (" << keyPartRange.From << ")";
675+
<< " (" << removeForbiddenChars(keyPartRange.From) << ")";
672676
readInfo.LookupBy.push_back(rangeDescr);
673677
}
674678
} else {
675679
rangeDescr << keyPartRange.ColumnName << " "
676680
<< (keyPartRange.From.Empty() ? "(" : leftParen)
677-
<< (keyPartRange.From.Empty() ? "-∞" : keyPartRange.From) << ", "
678-
<< (keyPartRange.To.Empty() ? "+∞" : keyPartRange.To)
681+
<< (keyPartRange.From.Empty() ? "-∞" : removeForbiddenChars(keyPartRange.From)) << ", "
682+
<< (keyPartRange.To.Empty() ? "+∞" : removeForbiddenChars(keyPartRange.To))
679683
<< (keyPartRange.To.Empty() ? ")" : rightParen);
680684
readInfo.ScanBy.push_back(rangeDescr);
681685
hasRangeScans = true;

0 commit comments

Comments
 (0)