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

HIVE-27102: Upgrade Calcite to 1.33.0 and Avatica to 1.23.0 #5196

Open
wants to merge 83 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
2745ddb
Bump Calcite version to 1.32.0
zabetak Oct 3, 2022
9089775
Resolve compilation failure in hive-exec due to missing Value annotation
zabetak Oct 6, 2022
b408e1b
Compilation fails in JdbcHiveTableScan due to breaking changes in sup…
zabetak Oct 6, 2022
3970dbd
Compilation error in HiveFilterJoinRule due to RelRule.Config.EMPTY
zabetak Oct 6, 2022
3e37f3a
Revert "Compilation error in HiveFilterJoinRule due to RelRule.Config…
zabetak Oct 6, 2022
ef77e7e
Compilation error in HiveFilterJoinRule due to RelRule.Config.EMPTY
zabetak Oct 6, 2022
d742984
Compilation fails in JDBCExtractJoinFilterRule due to removed supercl…
zabetak Oct 6, 2022
70d44e5
Compilation fails in HiveDruidRules due to RelRule.Config.EMPTY
zabetak Oct 7, 2022
47e2cd9
Simplify HiveDruidRules by using the config from respective rules in …
zabetak Oct 7, 2022
af11032
Compilation fails in HiveRelFactories due to ProjectFactory signature…
zabetak Oct 7, 2022
c323369
NoSuchFieldError: BACK_TICK_BACKSLASH when running TestMiniLlapLocalC…
zabetak Oct 7, 2022
f3fb8a7
NoSuchMethodError: CompilerFactoryFactory.getDefaultCompilerFactory w…
zabetak Oct 7, 2022
550b5d9
Compilation fails in HiveRemoveEmptySingleRules due to RelRule.Config…
zabetak Oct 10, 2022
4bc872f
Compilation fails in HiveReduceExpressionsRule due to missing XxReduc…
zabetak Feb 16, 2023
403e339
Bump Calcite version to 1.33.0 and Avatica to 1.23.0
zabetak Feb 20, 2023
4aec55e
Compilation fails in HiveProjectFactoryImpl due to new method added i…
zabetak Feb 21, 2023
ca0ed83
StackOverflowError while running cbo_query13.q
zabetak Feb 23, 2023
f600a70
ClassCastException in RelMdSize#typeValueSize when compiling cbo_quer…
zabetak Feb 23, 2023
ef971a4
use RexSimplify in point look up rule
kasakrisz Apr 20, 2023
6d64487
Correlate related prune empty rules config
kasakrisz Apr 26, 2023
1c1e879
Iceberg MV related rules config
kasakrisz Apr 26, 2023
1dc9066
Correlate related prune empty rules config
kasakrisz Apr 26, 2023
cc88810
transform search in ASTConverter
kasakrisz May 4, 2023
1f55763
support cbo.returnpath
kasakrisz May 5, 2023
3e2eadf
Add EPL-2.0 license to hive-packaging
soumyakanti3578 Apr 16, 2024
32f33d8
Expand SEARCH in HiveFilterSortPredicates to compute cost
soumyakanti3578 Apr 18, 2024
9b01d36
Extract RexInputRef in SEARCH Op when it is wrapped with a CAST
soumyakanti3578 Apr 18, 2024
59c4a58
Fix error caused by use of deprecated API which was removed
soumyakanti3578 Apr 19, 2024
99432b1
Error due to IN Operator in RexCall
soumyakanti3578 Apr 19, 2024
7527c54
Changes for cbo_query.* with TestTezTPCDS30TBPerfCliDriver
soumyakanti3578 Apr 20, 2024
e995603
clean up searchOperandToAST method to handle different visitors
soumyakanti3578 Apr 22, 2024
3f8c0fe
ClassCastException because of trying to convert every operand to RexI…
soumyakanti3578 Apr 22, 2024
882a6f6
Add HivePointLookupOptimizerRules to simplify some RexNodes which are…
soumyakanti3578 May 3, 2024
bfc7036
Delete HiveSearchExpandRule.java
soumyakanti3578 May 3, 2024
8719d9d
Fix AST generation for literals with struct types
soumyakanti3578 May 4, 2024
9650357
changes in cbo_query*.q.out
soumyakanti3578 May 4, 2024
6e3b461
Add jts-core to beeline to try to fix init-metastore test failures in…
soumyakanti3578 May 4, 2024
53a87bc
Fix error in null to complex type handling
soumyakanti3578 May 4, 2024
9673476
Convert Sarg with bounded range to BETWEEN
soumyakanti3578 May 4, 2024
1544101
revert some changes to q.outs
soumyakanti3578 May 4, 2024
a32343d
Fix testFilterIsRemovedAndVersionIntervalFromIsSetWhenFilterHasSnapsh…
soumyakanti3578 May 2, 2024
67ed666
Fix testFilterLeftIntactWhenItDoesNotHaveSnapshotIdPredicate
soumyakanti3578 May 2, 2024
cb62c1a
Fix TestMaterializedViewRebuild
soumyakanti3578 May 4, 2024
99e595b
Ensure bound types for lower and upper endpoints are CLOSED to check …
soumyakanti3578 May 5, 2024
03b9075
Convert Sarg with multiple ranges to BETWEEN and NOT BETWEEN in the A…
soumyakanti3578 May 7, 2024
6ec6fa3
Support SEARCH operator in FilterSelectivityEstimator
soumyakanti3578 May 7, 2024
b4ec480
benign changes
soumyakanti3578 May 7, 2024
e5c4750
Use HivePointLookupOptimizerRule to convert SEARCH to BETWEEN and NOT…
soumyakanti3578 May 10, 2024
cdfd39a
benign changes due to handling nulls in Sargs
soumyakanti3578 May 14, 2024
fc7546d
benign changes for TestTezTPCDS30TBPerfCliDriver
soumyakanti3578 May 16, 2024
1086b7f
Fix tests in TestHivePointLookupOptimizerRule
soumyakanti3578 May 16, 2024
72c8b3b
Allow cast for CHARs and VARCHARs to avoid getting cast to STRING
soumyakanti3578 May 16, 2024
701a800
benign changes to various qouts
soumyakanti3578 May 16, 2024
0177145
Implement visit(JdbcTableScan) which was removed in CALCITE-4640
soumyakanti3578 May 17, 2024
3ef61e2
Add external_jdbc_table2.q.out, although the change indicates that pr…
soumyakanti3578 May 17, 2024
2d3db32
Don't convert SEARCH to IN when pointCount is less than HIVE_POINT_LO…
soumyakanti3578 May 17, 2024
41ec5c9
Adding changes to various qouts
soumyakanti3578 May 18, 2024
d79cc8e
benign changes
soumyakanti3578 May 20, 2024
78da82e
Fix tests failing in TestFilterSelectivityEstimator
soumyakanti3578 May 20, 2024
b8e718c
Fix getRollup in SqlAggFunction
kasakrisz May 22, 2024
1179d00
Plan changes after fixing rollup
soumyakanti3578 May 22, 2024
1ee5248
Remove unnecessary CASTs in ASTConverter
soumyakanti3578 May 23, 2024
d21e0f9
More benign changes
soumyakanti3578 May 23, 2024
4c0aa1c
Do not extract cast when its operand is a literal
soumyakanti3578 May 23, 2024
cc3c4e9
Changes in prepare_plan.q.out
soumyakanti3578 May 23, 2024
9a03aa9
changes to qouts
soumyakanti3578 May 28, 2024
6c69528
Clean up and resolve some smells
soumyakanti3578 May 28, 2024
f11f1e5
Support serialization and deserialization for SEARCH
soumyakanti3578 May 31, 2024
53f5a99
Add SORT_QUERY_RESULTS to pointlookup3.q to remove flakiness
soumyakanti3578 May 31, 2024
1753d22
add explain cbo plan to sharedwork.q
soumyakanti3578 Jun 3, 2024
7daac94
Exclude HivePreFilteringRule from cardinality_preserving_join_opt2.q
soumyakanti3578 Jun 3, 2024
5d30b23
Fix failure of TestSymlinkTextInputFormat#testCombine
soumyakanti3578 Jun 5, 2024
4a6bc18
benign changes for split0
soumyakanti3578 Jun 5, 2024
a067f61
Resolve review comments
soumyakanti3578 Jun 17, 2024
7bd8df7
benign changes after rebasing
soumyakanti3578 Jul 9, 2024
9b81180
Add Calcite version check for 1.35
soumyakanti3578 Jul 10, 2024
0ee9602
Refactor method that transforms ORs to INs and BETWEENs
soumyakanti3578 Jul 10, 2024
8f3f9d1
benign changes for correlationoptimizer8.q
soumyakanti3578 Jul 11, 2024
04c1530
Refactor method `makeNotBetween` to use the RexBuilder.makeBetween
soumyakanti3578 Jul 11, 2024
9724d26
Retry simplify until a RexNode is simplified completely, upto a max of 5
soumyakanti3578 Jul 23, 2024
47cf072
benign changes after rebasing
soumyakanti3578 Jul 24, 2024
ccd9904
Revert "Retry simplify until a RexNode is simplified completely, upto…
soumyakanti3578 Jul 24, 2024
9ec32be
Check if HivePreFilteringRule has been applied on a Filter based on i…
soumyakanti3578 Jul 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions beeline/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,11 @@
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.19.0</version>
</dependency>
<!-- test intra-project -->
<dependency>
<groupId>org.apache.hive</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,10 +111,10 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: hbase_ck_4
filterExpr: ((key.col1 < '27') and (key.col1 >= '165')) (type: boolean)
filterExpr: ((key.col1 >= '165') and (key.col1 < '27')) (type: boolean)
Statistics: Num rows: 1 Data size: 792 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((key.col1 < '27') and (key.col1 >= '165')) (type: boolean)
predicate: ((key.col1 >= '165') and (key.col1 < '27')) (type: boolean)
Statistics: Num rows: 1 Data size: 792 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: struct<col1:string,col2:string,col3:string>), value (type: string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ STAGE PLANS:
alias: hbase_ck_5
Statistics: Num rows: 1 Data size: 792 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((key.col1 < '27') and (key.col1 >= '165')) (type: boolean)
predicate: ((key.col1 >= '165') and (key.col1 < '27')) (type: boolean)
Statistics: Num rows: 1 Data size: 792 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: struct<col1:string,col2:string,col3:string>), value (type: string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ STAGE PLANS:
alias: hbase_table_2
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ((key < 120) and (key > 100)) (type: boolean)
predicate: ((key > 100) and (key < 120)) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: (((b <> 'one') and (b <> 'four') and (a <> 22)) or ((a = 22) or (b) IN ('one', 'four')) is null or (b) IN ('one', 'four') or (a = 22)) (type: boolean)
filterExpr: (((b) IN ('four', 'one') or (a = 22)) is null or ((b <> 'four') and (b <> 'one') and (a <> 22)) or (b) IN ('four', 'one') or (a = 22)) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((((b <> 'one') and (b <> 'four') and (a <> 22)) or ((a = 22) or (b) IN ('one', 'four')) is null) and FILE__PATH is not null) (type: boolean)
predicate: ((((b) IN ('four', 'one') or (a = 22)) is null or ((b <> 'four') and (b <> 'one') and (a <> 22))) and FILE__PATH is not null) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), b (type: string), c (type: int), PARTITION__SPEC__ID (type: int), PARTITION__HASH (type: bigint), FILE__PATH (type: string), ROW__POSITION (type: bigint)
Expand All @@ -65,7 +65,7 @@ STAGE PLANS:
Statistics: Num rows: 7 Data size: 2100 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: int), _col4 (type: bigint), _col6 (type: bigint)
Filter Operator
predicate: (((b) IN ('one', 'four') or (a = 22)) and FILE__PATH is not null) (type: boolean)
predicate: (((b) IN ('four', 'one') or (a = 22)) and FILE__PATH is not null) (type: boolean)
Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: FILE__PATH (type: string)
Expand All @@ -78,10 +78,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
filterExpr: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
predicate: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 4 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: FILE__PATH (type: string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,17 +84,17 @@ Stage-4
<-Reducer 2 [CONTAINS]
File Output Operator [FS_46]
table:{"name:":"default.ice01"}
Select Operator [SEL_44] (rows=3 width=295)
Select Operator [SEL_44] (rows=3 width=266)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
Merge Join Operator [MERGEJOIN_43] (rows=3 width=295)
Merge Join Operator [MERGEJOIN_43] (rows=3 width=266)
Conds:RS_57._col4=RS_63._col0(Left Semi),Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
<-Map 1 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_57]
PartitionCols:_col4
Select Operator [SEL_55] (rows=5 width=295)
Select Operator [SEL_55] (rows=6 width=280)
Copy link
Contributor

@kasakrisz kasakrisz Jun 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What causes the change in the number of rows and width ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like there should be 6 rows instead of 5.
Here's the insert statement, insert into ice01 values (1, 'ABC'),(2, 'CBS'),(3, null),(4, 'POPI'),(5, 'AQWR'),(6, 'POIU'),(9, null),(8, 'POIKL'),(10, 'YUIO');

And the delete predicate is: where id>4 OR id=2. That gives us 6 rows with ids 2, 5, 6, 9, 8, 10.

Also, I believe row counts are just estimated based on stats? I could be wrong though.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, these row counts are estimates only. The TS has 7 rows. Not 9 nor 6.

The change is caused that one of the predicate in a Filter operator on top of the TS has changed. I highlight the change here, please check the CBO plans of this statement
1.25

HiveFilter(condition=[AND(OR(AND(<=($0, 4), <>($0, 2)), IS NULL(OR(>($0, 4), =($0, 2)))), OR(<=($0, 4), <>($0, 2), IS NULL(OR(>($0, 4), =($0, 2)))), IS NOT NULL($8))]): rowcount = 1.8095238095238095, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 775

1.33

HiveFilter(condition=[AND(OR(IS NULL(OR(=($0, 2), >($0, 4))), <($0, 2), AND(>($0, 2), <=($0, 4))), IS NOT NULL($8))]): rowcount = 2.333333333333333, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 681

In 1.33 an extra predicate is added: <($0, 2)

Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
Filter Operator [FIL_53] (rows=5 width=91)
predicate:((((id <= 4) and (id <> 2)) or ((id > 4) or (id = 2)) is null) and ((id <= 4) or (id <> 2) or ((id > 4) or (id = 2)) is null) and FILE__PATH is not null)
Filter Operator [FIL_53] (rows=6 width=76)
predicate:((((id = 2) or (id > 4)) is null or (id < 2) or ((id > 2) and (id <= 4))) and FILE__PATH is not null)
TableScan [TS_0] (rows=7 width=78)
default@ice01,ice01,Tbl:COMPLETE,Col:COMPLETE,Output:["id","name"]
<-Reducer 4 [SIMPLE_EDGE] vectorized
Expand All @@ -114,7 +114,7 @@ Stage-4
SHUFFLE [RS_56]
PartitionCols:FILE__PATH
Filter Operator [FIL_54] (rows=6 width=4)
predicate:(((id > 4) or (id = 2)) and FILE__PATH is not null)
predicate:(((id = 2) or (id > 4)) and FILE__PATH is not null)
Please refer to the previous TableScan [TS_0]
<-Reducer 6 [CONTAINS] vectorized
File Output Operator [FS_70]
Expand All @@ -131,7 +131,7 @@ Stage-4
SHUFFLE [RS_65]
PartitionCols:FILE__PATH
Filter Operator [FIL_64] (rows=6 width=76)
predicate:((id > 4) or (id = 2))
predicate:((id = 2) or (id > 4))
TableScan [TS_18] (rows=7 width=78)
default@ice01,ice01,Tbl:COMPLETE,Col:COMPLETE,Output:["id","name"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -360,11 +360,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: o
filterExpr: ((quantity NOT BETWEEN 39 AND 0 or quantity NOT BETWEEN 69 AND 39 or (quantity > 70)) and (((quantity > 0) and (quantity < 39)) or ((quantity > 39) and (quantity < 69)) or (quantity > 70)) and itemid is not null) (type: boolean)
filterExpr: (quantity is not null and (((quantity > 0) and (quantity < 39)) or ((quantity > 39) and (quantity < 69)) or (quantity > 70)) and itemid is not null) (type: boolean)
probeDecodeDetails: cacheKey:HASH_MAP_MAPJOIN_29_container, bigKeyColName:itemid, smallTablePos:1, keyRatio:0.9523809523809523
Statistics: Num rows: 21 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((quantity NOT BETWEEN 39 AND 0 or quantity NOT BETWEEN 69 AND 39 or (quantity > 70)) and (((quantity > 0) and (quantity < 39)) or ((quantity > 39) and (quantity < 69)) or (quantity > 70)) and itemid is not null) (type: boolean)
predicate: (quantity is not null and (((quantity > 0) and (quantity < 39)) or ((quantity > 39) and (quantity < 69)) or (quantity > 70)) and itemid is not null) (type: boolean)
Statistics: Num rows: 21 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: quantity (type: int), itemid (type: int)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
Statistics: Num rows: 8 Data size: 2412 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((_col4 <> _col7) or ((_col4 = _col7) or _col4 is null) is null) (type: boolean)
predicate: ((_col4 <> _col7) or (_col4 is null or (_col4 = _col7)) is null) (type: boolean)
Statistics: Num rows: 8 Data size: 2412 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint), _col4 (type: int), _col5 (type: string), _col6 (type: int)
Expand Down Expand Up @@ -634,7 +634,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
Statistics: Num rows: 8 Data size: 2412 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((((_col4 <> _col7) or (_col4 <= 100)) and _col4 is not null) or (((_col4 = _col7) and (_col4 > 100)) or _col4 is null) is null) (type: boolean)
predicate: ((((_col4 <> _col7) or (_col4 <= 100)) and _col4 is not null) or (_col4 is null or ((_col4 = _col7) and (_col4 > 100))) is null) (type: boolean)
Statistics: Num rows: 8 Data size: 2412 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: string), _col3 (type: bigint), _col4 (type: int), _col5 (type: string), _col6 (type: int)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
filterExpr: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
predicate: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 4 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: PARTITION__SPEC__ID (type: int), PARTITION__HASH (type: bigint), FILE__PATH (type: string), ROW__POSITION (type: bigint), a (type: int), 'Changed' (type: string), c (type: int)
Expand All @@ -71,10 +71,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: (((b <> 'one') and (b <> 'four') and (a <> 22)) or ((a = 22) or (b) IN ('one', 'four')) is null) (type: boolean)
filterExpr: (((b) IN ('four', 'one') or (a = 22)) is null or ((b <> 'four') and (b <> 'one') and (a <> 22))) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((((b <> 'one') and (b <> 'four') and (a <> 22)) or ((a = 22) or (b) IN ('one', 'four')) is null) and FILE__PATH is not null) (type: boolean)
predicate: ((((b) IN ('four', 'one') or (a = 22)) is null or ((b <> 'four') and (b <> 'one') and (a <> 22))) and FILE__PATH is not null) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), b (type: string), c (type: int), PARTITION__SPEC__ID (type: int), PARTITION__HASH (type: bigint), FILE__PATH (type: string), ROW__POSITION (type: bigint)
Expand All @@ -92,10 +92,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
filterExpr: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
predicate: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 4 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: FILE__PATH (type: string)
Expand All @@ -105,7 +105,7 @@ STAGE PLANS:
Statistics: Num rows: 4 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: a (type: int), b (type: string), c (type: int), PARTITION__SPEC__ID (type: int), PARTITION__HASH (type: bigint)
Filter Operator
predicate: (((b) IN ('one', 'four') or (a = 22)) and FILE__PATH is not null) (type: boolean)
predicate: (((b) IN ('four', 'one') or (a = 22)) and FILE__PATH is not null) (type: boolean)
Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: FILE__PATH (type: string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
filterExpr: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
predicate: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 4 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: PARTITION__SPEC__ID (type: int), PARTITION__HASH (type: bigint), FILE__PATH (type: string), ROW__POSITION (type: bigint), a (type: int), 'Changed' (type: string), c (type: int)
Expand All @@ -71,10 +71,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: (((b <> 'one') and (b <> 'four') and (a <> 22)) or ((a = 22) or (b) IN ('one', 'four')) is null) (type: boolean)
filterExpr: (((b) IN ('four', 'one') or (a = 22)) is null or ((b <> 'four') and (b <> 'one') and (a <> 22))) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((((b <> 'one') and (b <> 'four') and (a <> 22)) or ((a = 22) or (b) IN ('one', 'four')) is null) and FILE__PATH is not null) (type: boolean)
predicate: ((((b) IN ('four', 'one') or (a = 22)) is null or ((b <> 'four') and (b <> 'one') and (a <> 22))) and FILE__PATH is not null) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), b (type: string), c (type: int), PARTITION__SPEC__ID (type: int), PARTITION__HASH (type: bigint), FILE__PATH (type: string), ROW__POSITION (type: bigint)
Expand All @@ -92,10 +92,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tbl_ice
filterExpr: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
filterExpr: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 7 Data size: 672 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: ((a = 22) or (b) IN ('one', 'four')) (type: boolean)
predicate: ((a = 22) or (b) IN ('four', 'one')) (type: boolean)
Statistics: Num rows: 4 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: FILE__PATH (type: string)
Expand All @@ -105,7 +105,7 @@ STAGE PLANS:
Statistics: Num rows: 4 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: a (type: int), b (type: string), c (type: int), PARTITION__SPEC__ID (type: int), PARTITION__HASH (type: bigint)
Filter Operator
predicate: (((b) IN ('one', 'four') or (a = 22)) and FILE__PATH is not null) (type: boolean)
predicate: (((b) IN ('four', 'one') or (a = 22)) and FILE__PATH is not null) (type: boolean)
Statistics: Num rows: 4 Data size: 368 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: FILE__PATH (type: string)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: _dummy_database@_dummy_table
POSTHOOK: Output: default@table1
OPTIMIZED SQL: SELECT *
FROM TABLE(INLINE(ARRAY[ (1, '101'), (2, '202'), (3, '303'), (4, '404'), (5, '505')]))
FROM TABLE(INLINE(ARRAY[(1, '101'), (2, '202'), (3, '303'), (4, '404'), (5, '505')]))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: _dummy_database@_dummy_table
POSTHOOK: Output: default@table1
OPTIMIZED SQL: SELECT *
FROM TABLE(INLINE(ARRAY[ (1)]))
FROM TABLE(INLINE(ARRAY[(1)]))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-7 depends on stages: Stage-1 , consists of Stage-4, Stage-3, Stage-5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: _dummy_database@_dummy_table
POSTHOOK: Output: default@table1
OPTIMIZED SQL: SELECT *
FROM TABLE(INLINE(ARRAY[ (1, '101'), (2, '202'), (3, '303'), (4, '404'), (5, '505')]))
FROM TABLE(INLINE(ARRAY[(1, '101'), (2, '202'), (3, '303'), (4, '404'), (5, '505')]))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: _dummy_database@_dummy_table
POSTHOOK: Output: default@table1
OPTIMIZED SQL: SELECT *
FROM TABLE(INLINE(ARRAY[ (1)]))
FROM TABLE(INLINE(ARRAY[(1)]))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-7 depends on stages: Stage-1 , consists of Stage-4, Stage-3, Stage-5
Expand Down
Loading
Loading