diff options
| author | Александр Новожилов <[email protected]> | 2024-10-02 17:25:23 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-10-02 17:25:23 +0300 |
| commit | 32f4ef25dc626af6adbfe341403ff4cf9b963276 (patch) | |
| tree | 3680f7300985ed621d328737f46d028fbc37bede | |
| parent | 319fc8044ae241840e9a35c814073da334e996e1 (diff) | |
Do not use block reader on overridden schemas, columns, tables with inferred schemas (#9931)
| -rw-r--r-- | ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp b/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp index db20e9d90a8..7203ba75205 100644 --- a/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp +++ b/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp @@ -513,6 +513,14 @@ public: auto paths = section.Paths(); for (const auto& path : section.Paths()) { auto meta = TYtTableBaseInfo::GetMeta(path.Table()); + if (meta->InferredScheme) { + BlockReaderAddInfo(ctx, ctx.GetPosition(node.Pos()), "can't use block reader on tables with inferred schema"); + return false; + } + if (auto table = path.Table().Maybe<TYtTable>(); table && NYql::HasAnySetting(table.Cast().Settings().Ref(), EYtSettingType::UserColumns | EYtSettingType::UserSchema)) { + BlockReaderAddInfo(ctx, ctx.GetPosition(node.Pos()), "can't use block reader on tables with overridden schema/columns"); + return false; + } if (meta->Attrs.contains("schema_mode") && meta->Attrs["schema_mode"] == "weak") { BlockReaderAddInfo(ctx, ctx.GetPosition(node.Pos()), "can't use block reader on tables with weak schema"); return false; |
