diff options
| author | nadya02 <[email protected]> | 2025-07-08 22:00:28 +0300 |
|---|---|---|
| committer | nadya02 <[email protected]> | 2025-07-08 22:16:20 +0300 |
| commit | db5f2054c82107ef5b1706703246c3aac5fa910c (patch) | |
| tree | 3f8bd4f7d69f4d6ce12bd4462bb41c6d13f99a2f | |
| parent | 7f754e8d0d76df3236d86aff6bacd73d2c949e5a (diff) | |
Fix babenko issues
commit_hash:2d956d6f1d7dbaa5c3b304546153c740f58cfe4f
| -rw-r--r-- | yt/yt/client/complex_types/merge_complex_types.cpp | 31 | ||||
| -rw-r--r-- | yt/yt/client/table_client/merge_table_schemas.cpp | 6 | ||||
| -rw-r--r-- | yt/yt/client/table_client/unittests/helpers/helpers.h | 17 | ||||
| -rw-r--r-- | yt/yt/library/formats/arrow_parser.cpp | 2 |
4 files changed, 17 insertions, 39 deletions
diff --git a/yt/yt/client/complex_types/merge_complex_types.cpp b/yt/yt/client/complex_types/merge_complex_types.cpp index 032a0ff5699..55ecff6ac59 100644 --- a/yt/yt/client/complex_types/merge_complex_types.cpp +++ b/yt/yt/client/complex_types/merge_complex_types.cpp @@ -244,8 +244,7 @@ TLogicalTypePtr MergeTypes( } switch (firstMetatype) { - case ELogicalMetatype::Simple: - { + case ELogicalMetatype::Simple: { if (CheckTypeCompatibility(firstType, secondType).first == ESchemaCompatibility::FullyCompatible) { return secondType; } @@ -260,55 +259,49 @@ TLogicalTypePtr MergeTypes( << TErrorAttribute("second_type", ToString(*secondDescriptor.GetType())); } - case ELogicalMetatype::List: - { + case ELogicalMetatype::List: { auto mergedType = MergeTypes( firstType->AsListTypeRef().GetElement(), secondType->AsListTypeRef().GetElement()); - return New<TListLogicalType>(mergedType); + return New<TListLogicalType>(std::move(mergedType)); } - case ELogicalMetatype::VariantStruct: - { + case ELogicalMetatype::VariantStruct: { auto mergedFields = MergeStructTypes( firstDescriptor, secondDescriptor); - return New<TVariantStructLogicalType>(mergedFields); + return New<TVariantStructLogicalType>(std::move(mergedFields)); } - case ELogicalMetatype::Struct: - { + case ELogicalMetatype::Struct: { auto mergedFields = MergeStructTypes( firstDescriptor, secondDescriptor); - return New<TStructLogicalType>(mergedFields); + return New<TStructLogicalType>(std::move(mergedFields)); } - case ELogicalMetatype::Tuple: - { + case ELogicalMetatype::Tuple: { auto mergedElements = MergeTupleTypes( firstDescriptor, secondDescriptor); - return New<TTupleLogicalType>(mergedElements); + return New<TTupleLogicalType>(std::move(mergedElements)); } - case ELogicalMetatype::VariantTuple: - { + case ELogicalMetatype::VariantTuple: { auto mergedElements = MergeTupleTypes( firstDescriptor, secondDescriptor); - return New<TVariantTupleLogicalType>(mergedElements); + return New<TVariantTupleLogicalType>(std::move(mergedElements)); } case ELogicalMetatype::Dict: return MergeDictTypes(firstDescriptor, secondDescriptor); - case ELogicalMetatype::Decimal: - { + case ELogicalMetatype::Decimal: { if (*firstDescriptor.GetType() == *secondDescriptor.GetType()) { return firstType; } else { diff --git a/yt/yt/client/table_client/merge_table_schemas.cpp b/yt/yt/client/table_client/merge_table_schemas.cpp index 8821bc5edd7..ada01959771 100644 --- a/yt/yt/client/table_client/merge_table_schemas.cpp +++ b/yt/yt/client/table_client/merge_table_schemas.cpp @@ -26,7 +26,7 @@ TColumnSchema MakeOptionalSchema(const TColumnSchema& columnSchema) auto optionalType = New<TOptionalLogicalType>(columnSchema.LogicalType()); auto resultSchema = TColumnSchema( columnSchema.Name(), - optionalType, + std::move(optionalType), columnSchema.SortOrder()); resultSchema.SetStableName(columnSchema.StableName()); return resultSchema; @@ -113,7 +113,7 @@ TTableSchemaPtr MergeTableSchemas( // If the deleted columns completely match, then the table can be teleported. return { New<TTableSchema>( - resultColumns, + std::move(resultColumns), firstSchema->IsStrict() && secondSchema->IsStrict(), firstSchema->IsUniqueKeys() && secondSchema->IsUniqueKeys(), ETableSchemaModification::None, @@ -122,7 +122,7 @@ TTableSchemaPtr MergeTableSchemas( } else { return { New<TTableSchema>( - resultColumns, + std::move(resultColumns), firstSchema->IsStrict() && secondSchema->IsStrict(), firstSchema->IsUniqueKeys() && secondSchema->IsUniqueKeys()) }; diff --git a/yt/yt/client/table_client/unittests/helpers/helpers.h b/yt/yt/client/table_client/unittests/helpers/helpers.h index 8b917a16e62..79998cf8024 100644 --- a/yt/yt/client/table_client/unittests/helpers/helpers.h +++ b/yt/yt/client/table_client/unittests/helpers/helpers.h @@ -5,6 +5,7 @@ #include <yt/yt/client/table_client/columnar.h> #include <yt/yt/client/table_client/config.h> +#include <yt/yt/client/table_client/helpers.h> #include <yt/yt/client/table_client/public.h> #include <yt/yt/client/table_client/row_batch.h> @@ -101,27 +102,11 @@ inline bool GetBit(const NTableClient::IUnversionedColumnarRowBatch::TValueBuffe return (buffer.Data[index / 8] & (1 << (index % 8))) != 0; } -inline bool GetBit(TRef data, int index) -{ - return (data[index / 8] & (1 << (index % 8))) != 0; -} - inline bool GetBit(const NTableClient::IUnversionedColumnarRowBatch::TBitmap& bitmap, int index) { return GetBit(bitmap.Data, index); } -inline void SetBit(TMutableRef data, int index, bool value) -{ - auto& byte = data[index / 8]; - auto mask = 1ULL << (index % 8); - if (value) { - byte |= mask; - } else { - byte &= ~mask; - } -} - inline void ResolveRleEncoding( const NTableClient::IUnversionedColumnarRowBatch::TColumn*& column, i64& index) diff --git a/yt/yt/library/formats/arrow_parser.cpp b/yt/yt/library/formats/arrow_parser.cpp index 5b554ef9f5c..be1bdb5c9fa 100644 --- a/yt/yt/library/formats/arrow_parser.cpp +++ b/yt/yt/library/formats/arrow_parser.cpp @@ -466,7 +466,7 @@ i64 CheckAndTransformTimestamp(i64 arrowValue, arrow::TimeUnit::type timeUnit, i case arrow::TimeUnit::type::NANO: resultValue = arrowValue / MicroToNanoCoefficient; minArrowAllowedTimestamp = SignedSaturationArithmeticMultiply(minAllowedTimestamp, MicroToNanoCoefficient); - maxArrowAllowedTimestamp = SignedSaturationArithmeticMultiply(minAllowedTimestamp, MicroToNanoCoefficient); + maxArrowAllowedTimestamp = SignedSaturationArithmeticMultiply(maxAllowedTimestamp, MicroToNanoCoefficient); break; case arrow::TimeUnit::type::SECOND: |
