Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

correct not null flags usage in tests #7293

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions ydb/core/tx/columnshard/test_helper/columnshard_ut_common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -125,26 +125,25 @@ bool WriteDataImpl(TTestBasicRuntime& runtime, TActorId& sender, const ui64 shar
}

bool WriteData(TTestBasicRuntime& runtime, TActorId& sender, const ui64 shardId, const ui64 writeId, const ui64 tableId, const TString& data,
const std::vector<NArrow::NTest::TTestColumn>& ydbSchema, std::vector<ui64>* writeIds, const NEvWrite::EModificationType mType,
const std::set<std::string>& notNullColumns) {
const std::vector<NArrow::NTest::TTestColumn>& ydbSchema, std::vector<ui64>* writeIds, const NEvWrite::EModificationType mType) {
NLongTxService::TLongTxId longTxId;
UNIT_ASSERT(longTxId.ParseString("ydb://long-tx/01ezvvxjdk2hd4vdgjs68knvp8?node_id=1"));
return WriteDataImpl(
runtime, sender, shardId, tableId, longTxId, writeId, data, NArrow::MakeArrowSchema(ydbSchema, notNullColumns), writeIds, mType);
runtime, sender, shardId, tableId, longTxId, writeId, data, NArrow::MakeArrowSchema(ydbSchema), writeIds, mType);
}

bool WriteData(TTestBasicRuntime& runtime, TActorId& sender, const ui64 writeId, const ui64 tableId, const TString& data,
const std::vector<NArrow::NTest::TTestColumn>& ydbSchema, bool waitResult, std::vector<ui64>* writeIds,
const NEvWrite::EModificationType mType, const std::set<std::string>& notNullColumns) {
const NEvWrite::EModificationType mType) {
NLongTxService::TLongTxId longTxId;
UNIT_ASSERT(longTxId.ParseString("ydb://long-tx/01ezvvxjdk2hd4vdgjs68knvp8?node_id=1"));
if (writeIds) {
return WriteDataImpl(runtime, sender, TTestTxConfig::TxTablet0, tableId, longTxId, writeId, data,
NArrow::MakeArrowSchema(ydbSchema, notNullColumns), writeIds, mType);
NArrow::MakeArrowSchema(ydbSchema), writeIds, mType);
}
std::vector<ui64> ids;
return WriteDataImpl(runtime, sender, TTestTxConfig::TxTablet0, tableId, longTxId, writeId, data,
NArrow::MakeArrowSchema(ydbSchema, notNullColumns), waitResult ? &ids : nullptr, mType);
NArrow::MakeArrowSchema(ydbSchema), waitResult ? &ids : nullptr, mType);
}

std::optional<ui64> WriteData(TTestBasicRuntime& runtime, TActorId& sender, const NLongTxService::TLongTxId& longTxId,
Expand Down
4 changes: 2 additions & 2 deletions ydb/core/tx/columnshard/test_helper/columnshard_ut_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -407,11 +407,11 @@ void PlanWriteTx(TTestBasicRuntime& runtime, TActorId& sender, NOlap::TSnapshot

bool WriteData(TTestBasicRuntime& runtime, TActorId& sender, const ui64 shardId, const ui64 writeId, const ui64 tableId, const TString& data,
const std::vector<NArrow::NTest::TTestColumn>& ydbSchema, std::vector<ui64>* writeIds,
const NEvWrite::EModificationType mType = NEvWrite::EModificationType::Upsert, const std::set<std::string>& notNullColumns = {});
const NEvWrite::EModificationType mType = NEvWrite::EModificationType::Upsert);

bool WriteData(TTestBasicRuntime& runtime, TActorId& sender, const ui64 writeId, const ui64 tableId, const TString& data,
const std::vector<NArrow::NTest::TTestColumn>& ydbSchema, bool waitResult = true, std::vector<ui64>* writeIds = nullptr,
const NEvWrite::EModificationType mType = NEvWrite::EModificationType::Upsert, const std::set<std::string>& notNullColumns = {});
const NEvWrite::EModificationType mType = NEvWrite::EModificationType::Upsert);

std::optional<ui64> WriteData(TTestBasicRuntime& runtime, TActorId& sender, const NLongTxService::TLongTxId& longTxId,
ui64 tableId, const ui64 writePartId, const TString& data,
Expand Down
18 changes: 14 additions & 4 deletions ydb/core/tx/columnshard/test_helper/helper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,16 @@ NKikimrSchemeOp::TOlapColumnDescription TTestColumn::CreateColumn(const ui32 id)
return col;
}

std::set<std::string> TTestColumn::GetNullableSet(const std::vector<TTestColumn>& columns) {
std::set<std::string> result;
for (auto&& i : columns) {
if (!i.GetNullable()) {
result.emplace(i.GetName());
}
}
return result;
}

std::vector<std::pair<TString, NKikimr::NScheme::TTypeInfo>> TTestColumn::ConvertToPairs(const std::vector<TTestColumn>& columns) {
std::vector<std::pair<TString, NScheme::TTypeInfo>> result;
for (auto&& i : columns) {
Expand Down Expand Up @@ -70,15 +80,15 @@ std::vector<NKikimr::NArrow::NTest::TTestColumn> TTestColumn::CropSchema(const s

namespace NKikimr::NArrow {

std::vector<std::shared_ptr<arrow::Field>> MakeArrowFields(
const std::vector<NTest::TTestColumn>& columns, const std::set<std::string>& notNullColumns /*= {}*/) {
std::vector<std::shared_ptr<arrow::Field>> MakeArrowFields(const std::vector<NTest::TTestColumn>& columns) {
std::set<std::string> notNullColumns = NTest::TTestColumn::GetNullableSet(columns);
auto result = MakeArrowFields(NTest::TTestColumn::ConvertToPairs(columns), notNullColumns);
UNIT_ASSERT_C(result.ok(), result.status().ToString());
return result.ValueUnsafe();
}

std::shared_ptr<arrow::Schema> MakeArrowSchema(
const std::vector<NTest::TTestColumn>& columns, const std::set<std::string>& notNullColumns /*= {}*/) {
std::shared_ptr<arrow::Schema> MakeArrowSchema(const std::vector<NTest::TTestColumn>& columns) {
std::set<std::string> notNullColumns = NTest::TTestColumn::GetNullableSet(columns);
auto result = MakeArrowSchema(NTest::TTestColumn::ConvertToPairs(columns), notNullColumns);
UNIT_ASSERT_C(result.ok(), result.status().ToString());
return result.ValueUnsafe();
Expand Down
6 changes: 4 additions & 2 deletions ydb/core/tx/columnshard/test_helper/helper.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class TTestColumn {
YDB_ACCESSOR_DEF(NScheme::TTypeInfo, Type);
YDB_ACCESSOR_DEF(TString, StorageId);
YDB_ACCESSOR_DEF(TString, AccessorClassName);
YDB_ACCESSOR(bool, Nullable, true);

public:
explicit TTestColumn(const TString& name, const NScheme::TTypeInfo& type)
Expand All @@ -65,13 +66,14 @@ class TTestColumn {
static THashMap<TString, NScheme::TTypeInfo> ConvertToHash(const std::vector<TTestColumn>& columns);
static std::vector<TTestColumn> BuildFromPairs(const std::vector<std::pair<TString, NScheme::TTypeInfo>>& columns);
static std::vector<TTestColumn> CropSchema(const std::vector<TTestColumn>& input, const ui32 size);
static std::set<std::string> GetNullableSet(const std::vector<TTestColumn>& columns);
};

}

namespace NKikimr::NArrow {

std::vector<std::shared_ptr<arrow::Field>> MakeArrowFields(const std::vector<NTest::TTestColumn>& columns, const std::set<std::string>& notNullColumns = {});
std::shared_ptr<arrow::Schema> MakeArrowSchema(const std::vector<NTest::TTestColumn>& columns, const std::set<std::string>& notNullColumns = {});
std::vector<std::shared_ptr<arrow::Field>> MakeArrowFields(const std::vector<NTest::TTestColumn>& columns);
std::shared_ptr<arrow::Schema> MakeArrowSchema(const std::vector<NTest::TTestColumn>& columns);

}
6 changes: 3 additions & 3 deletions ydb/core/tx/schemeshard/ut_olap/ut_olap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ static const TString defaultTableSchema = R"(
)";

static const TVector<NArrow::NTest::TTestColumn> defaultYdbSchema = {
NArrow::NTest::TTestColumn("timestamp", TTypeInfo(NTypeIds::Timestamp) ),
NArrow::NTest::TTestColumn("timestamp", TTypeInfo(NTypeIds::Timestamp)).SetNullable(false),
NArrow::NTest::TTestColumn("data", TTypeInfo(NTypeIds::Utf8) )
};

Expand Down Expand Up @@ -713,7 +713,7 @@ Y_UNIT_TEST_SUITE(TOlap) {
TSet<ui64> txIds;
for (ui32 i = 0; i < 10; ++i) {
std::vector<ui64> writeIds;
NTxUT::WriteData(runtime, sender, shardId, ++writeId, pathId, data, defaultYdbSchema, &writeIds, NEvWrite::EModificationType::Upsert, { "timestamp" });
NTxUT::WriteData(runtime, sender, shardId, ++writeId, pathId, data, defaultYdbSchema, &writeIds, NEvWrite::EModificationType::Upsert);
NTxUT::ProposeCommit(runtime, sender, shardId, ++txId, writeIds);
txIds.insert(txId);
}
Expand All @@ -725,7 +725,7 @@ Y_UNIT_TEST_SUITE(TOlap) {

// trigger periodic stats at shard (after timeout)
std::vector<ui64> writeIds;
NTxUT::WriteData(runtime, sender, shardId, ++writeId, pathId, data, defaultYdbSchema, &writeIds, NEvWrite::EModificationType::Upsert, { "timestamp" });
NTxUT::WriteData(runtime, sender, shardId, ++writeId, pathId, data, defaultYdbSchema, &writeIds, NEvWrite::EModificationType::Upsert);
NTxUT::ProposeCommit(runtime, sender, shardId, ++txId, writeIds);
NTxUT::PlanCommit(runtime, sender, shardId, ++planStep, {txId});
}
Expand Down
Loading