summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorАлександр Новожилов <[email protected]>2024-10-02 17:25:23 +0300
committerGitHub <[email protected]>2024-10-02 17:25:23 +0300
commit32f4ef25dc626af6adbfe341403ff4cf9b963276 (patch)
tree3680f7300985ed621d328737f46d028fbc37bede
parent319fc8044ae241840e9a35c814073da334e996e1 (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.cpp8
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;