Skip to content

Commit f50c0a5

Browse files
authored
validate logical execution before lineage (#8755)
1 parent bbc642c commit f50c0a5

File tree

6 files changed

+46
-0
lines changed

6 files changed

+46
-0
lines changed

ydb/library/yql/core/facade/yql_facade.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -808,6 +808,7 @@ TProgram::TFutureStatus TProgram::LineageAsync(const TString& username, IOutputS
808808
.AddTypeAnnotation()
809809
.AddPostTypeAnnotation()
810810
.Add(TExprOutputTransformer::Sync(ExprRoot_, traceOut), "ExprOutput")
811+
.AddCheckExecution(false)
811812
.AddLineageOptimization(LineageStr_)
812813
.Add(TExprOutputTransformer::Sync(ExprRoot_, exprOut, withTypes), "AstOutput")
813814
.Build();
@@ -1073,6 +1074,7 @@ TProgram::TFutureStatus TProgram::LineageAsyncWithConfig(
10731074
pipeline.AddPostTypeAnnotation();
10741075
pipelineConf.AfterTypeAnnotation(&pipeline);
10751076

1077+
pipeline.AddCheckExecution(false);
10761078
pipeline.AddLineageOptimization(LineageStr_);
10771079

10781080
Transformer_ = pipeline.Build();

ydb/library/yql/tests/sql/sql2yql/canondata/result.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10569,6 +10569,13 @@
1056910569
"uri": "https://{canondata_backend}/1784117/d56ae82ad9d30397a41490647be1bd2124718f98/resource.tar.gz#test_sql2yql.test_limit-zero_limit_/sql.yql"
1057010570
}
1057110571
],
10572+
"test_sql2yql.test[lineage-error_type]": [
10573+
{
10574+
"checksum": "09dc81028852fd592ae2ae96787107ab",
10575+
"size": 1628,
10576+
"uri": "https://{canondata_backend}/1784826/8212a6594777651314d94a2e2f95179c0016604c/resource.tar.gz#test_sql2yql.test_lineage-error_type_/sql.yql"
10577+
}
10578+
],
1057210579
"test_sql2yql.test[lineage-flatten_list_nested_lambda]": [
1057310580
{
1057410581
"checksum": "1405a87aecd4676d7955fff219819b5f",
@@ -30155,6 +30162,13 @@
3015530162
"uri": "https://{canondata_backend}/1880306/64654158d6bfb1289c66c626a8162239289559d0/resource.tar.gz#test_sql_format.test_limit-zero_limit_/formatted.sql"
3015630163
}
3015730164
],
30165+
"test_sql_format.test[lineage-error_type]": [
30166+
{
30167+
"checksum": "aa7268913aed17bf13095a2f03f475ee",
30168+
"size": 106,
30169+
"uri": "https://{canondata_backend}/1784826/8212a6594777651314d94a2e2f95179c0016604c/resource.tar.gz#test_sql_format.test_lineage-error_type_/formatted.sql"
30170+
}
30171+
],
3015830172
"test_sql_format.test[lineage-flatten_list_nested_lambda]": [
3015930173
{
3016030174
"checksum": "3fdec3c3ffc5993a6088aa56eac4fcea",
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
in Input input.txt
2+
out Output output.txt
3+
providers yt
4+
xfail
5+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
USE plato;
2+
3+
INSERT INTO Output
4+
SELECT
5+
1 as foo
6+
FROM Input
7+
8+
UNION ALL
9+
10+
SELECT
11+
'x' as foo
12+
FROM Input
13+

ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1624,6 +1624,13 @@
16241624
"uri": "https://{canondata_backend}/1600758/27e4f42b960f1f056b80a59edfceebd7f0dc0293/resource.tar.gz#test.test_limit-insert_with_limit--Results_/Output.yqlrun.txt.attr"
16251625
}
16261626
],
1627+
"test.test[lineage-error_type--Debug]": [],
1628+
"test.test[lineage-error_type--Plan]": [],
1629+
"test.test[lineage-error_type--Results]": [
1630+
{
1631+
"uri": "file://test.test_lineage-error_type--Results_/extracted"
1632+
}
1633+
],
16271634
"test.test[lineage-select_field-default.txt-Debug]": [
16281635
{
16291636
"checksum": "f9af6961ea0708b2b1d85d5b7f2f42c2",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<tmp_path>/program.sql:<main>: Error: Optimization
2+
3+
<tmp_path>/program.sql:<main>:4:1: Error: Uncompatible member foo types: Int32 and String
4+
SELECT
5+
^

0 commit comments

Comments
 (0)