Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
b165abc
TAJO-1352_3
jihoonson Mar 14, 2015
d6e22ae
problems in join tree building
jihoonson Mar 15, 2015
213c09b
TAJO-1352_3
jihoonson Mar 15, 2015
60d250d
TAJO-1352_3
jihoonson Mar 15, 2015
f8638cf
TAJO-1352_3
jihoonson Mar 15, 2015
9ec9877
Finished join order improvement
jihoonson Mar 15, 2015
d774b45
TAJO-1352_4
jihoonson Mar 16, 2015
f27cec3
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Mar 16, 2015
140bc3d
TAJO-1352_4
jihoonson Mar 16, 2015
7112eb9
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Mar 17, 2015
7ac215a
TAJO-1352_4
jihoonson Mar 17, 2015
5e4de3d
TAJO-1352_4
jihoonson Mar 17, 2015
3dca1b7
TAJO-1352_4
jihoonson Mar 18, 2015
8ebf859
TAJO-1352_4
jihoonson Mar 18, 2015
393dd55
TAJO-1352_4
jihoonson Mar 18, 2015
8bd027b
TAJO-1352_4
jihoonson Mar 18, 2015
8dce544
Must resolve broadcast join bugs
jihoonson Mar 18, 2015
dcc6e8a
TAJO-1352_4
jihoonson Mar 18, 2015
f7d6c6b
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 18, 2015
91b6551
TAJO-1352_4
jihoonson Mar 19, 2015
3cb7071
TAJO-1352_4
jihoonson Mar 19, 2015
1cef166
Fix JoinBroadcast test
jihoonson Mar 20, 2015
7470270
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 20, 2015
38fb013
TAJO-1352_4
jihoonson Mar 20, 2015
3214508
TAJO-1352_4
jihoonson Mar 21, 2015
4439a6f
TAJO-1352_4
jihoonson Mar 21, 2015
f42b4ce
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 22, 2015
f626a93
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 23, 2015
bb27e0f
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 25, 2015
34515d9
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 26, 2015
ee8b03c
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 27, 2015
b6e28d9
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 27, 2015
22d8951
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 29, 2015
0a346f1
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 30, 2015
1b48984
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Mar 30, 2015
2348751
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Mar 31, 2015
8e30bc2
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Mar 31, 2015
562d71f
TAJO-1352_4
jihoonson Mar 31, 2015
585d39d
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 2, 2015
eb3045b
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Apr 2, 2015
0b5b54b
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 2, 2015
02701ea
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 4, 2015
823f622
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 11, 2015
fa057d8
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 13, 2015
d8490f3
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 14, 2015
de987a5
Fix test failure
jihoonson Apr 14, 2015
4493b14
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Apr 14, 2015
9e87ad2
TAJO-1352_4
jihoonson Apr 14, 2015
de1d913
TAJO-1352_4
jihoonson Apr 15, 2015
eadc713
TAJO-1352_4
jihoonson Apr 15, 2015
8f290b8
TAJO-1352_4
jihoonson Apr 15, 2015
9d3f4d9
TAJO-1352_4
jihoonson Apr 15, 2015
f2c0268
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 15, 2015
8bb3729
TAJO-1352_4
jihoonson Apr 15, 2015
cbe4168
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 16, 2015
1c34579
TAJO-1352_4
jihoonson Apr 16, 2015
dd75312
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 17, 2015
d3f1f19
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 20, 2015
6c35b1d
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 27, 2015
da8c2b6
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 27, 2015
298853c
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Apr 27, 2015
d13fbba
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 29, 2015
12d79cb
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 29, 2015
5f5392e
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Apr 30, 2015
193f3c9
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 7, 2015
e3c6aca
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 12, 2015
b878bdc
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 14, 2015
26e0f95
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 16, 2015
0d03c58
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 22, 2015
02f0a5c
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 25, 2015
3a52436
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 27, 2015
66e5a69
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 27, 2015
8f32f0c
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson May 28, 2015
60a20d3
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 28, 2015
6074a9a
TAJO-1352_4
jihoonson May 28, 2015
86189fd
TAJO-1352_4
jihoonson May 28, 2015
9bf4530
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 28, 2015
671c505
TAJO-1352_4
jihoonson May 29, 2015
cf871e8
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson May 29, 2015
a6dea46
TAJO-1352_4
jihoonson May 30, 2015
560d3b5
Passed all tests
jihoonson May 30, 2015
c02dd1c
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jun 3, 2015
7a1f183
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jun 8, 2015
d9b998e
Fix a bug
jihoonson Jun 11, 2015
d4f95f2
Increase weight of computation for more balanced bushy tree
jihoonson Jun 13, 2015
b1b80e4
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jun 14, 2015
545a48c
Remove debug codes
jihoonson Jun 14, 2015
45475c6
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jun 22, 2015
a6b7b90
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jun 25, 2015
757a3d7
Trigger travis
jihoonson Jun 26, 2015
e72871d
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jun 29, 2015
9cb9d5f
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jul 2, 2015
963c58c
Improve the join graph to allow multiple root vertexes
jihoonson Jul 2, 2015
e53df7c
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jul 13, 2015
4ed118d
Address review comments and added more comments
jihoonson Jul 14, 2015
0cde3b6
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo…
jihoonson Jul 14, 2015
5a18a2f
Merge branch 'TAJO-1352_4' of https://github.com/jihoonson/tajo-2 int…
jihoonson Jul 17, 2015
fc033ba
Address comments
jihoonson Jul 17, 2015
01f297d
Fix test failures
jihoonson Jul 17, 2015
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
Original file line number Diff line number Diff line change
Expand Up @@ -161,4 +161,64 @@ public static String toDisplayString(Schema schema) {
DDLBuilder.buildSchema(sb, schema);
return sb.toString();
}

/**
* Calculate the row size from the given schema.
*
* @param schema input schema
* @return estimated row size in bytes
*/
public static int estimateRowByteSizeWithSchema(Schema schema) {
int size = 0;
for (Column column : schema.fields) {
size += getColByteSize(column);
}
return size;
}

/**
* Return the size of the given column. For the variable-length columns, it returns a prefixed value.
*
* @param col input column
* @return column length in bytes
*/
public static int getColByteSize(Column col) {
if (col.getDataType().getLength() > 0) {
return col.getDataType().getLength();
}
switch (col.getDataType().getType()) {
case BOOLEAN:
return 1;
case CHAR:
return 1;
case BIT:
return 1;
case INT2:
return 2;
case INT4:
return 4;
case INT8:
return 8;
case FLOAT4:
return 4;
case FLOAT8:
return 8;
case INET4:
return 4;
case INET6:
return 32;
case TEXT:
return 256;
case BLOB:
return 256;
case DATE:
return 4;
case TIME:
return 8;
case TIMESTAMP:
return 8;
default:
return 0;
}
}
}
5 changes: 5 additions & 0 deletions tajo-common/src/main/java/org/apache/tajo/util/Pair.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ public Pair(T1 first, T2 second) {
this.second = second;
}

public void set(T1 first, T2 second) {
this.first = first;
this.second = second;
}

public T1 getFirst() {
return first;
}
Expand Down
1 change: 0 additions & 1 deletion tajo-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@
<exclude>src/test/resources/dataset/**</exclude>
<exclude>src/test/resources/queries/**</exclude>
<exclude>src/test/resources/results/**</exclude>
<exclude>src/test/resources/results/**</exclude>
<exclude>src/main/resources/META-INF/services/*</exclude>
<exclude>src/main/resources/webapps/static/js/*</exclude>
</excludes>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@
import org.apache.tajo.plan.LogicalPlan;
import org.apache.tajo.plan.logical.*;
import org.apache.tajo.plan.util.PlannerUtil;
import org.apache.tajo.storage.TablespaceManager;
import org.apache.tajo.storage.Tablespace;
import org.apache.tajo.storage.StorageUtil;
import org.apache.tajo.storage.Tablespace;
import org.apache.tajo.storage.TablespaceManager;
import org.apache.tajo.util.Pair;

import java.io.IOException;
Expand Down Expand Up @@ -288,7 +288,6 @@ public TableDesc createTable(QueryContext queryContext,
* @param purge Remove all data if purge is true.
*/
public boolean dropTable(QueryContext queryContext, String tableName, boolean ifExists, boolean purge) {
CatalogService catalog = context.getCatalog();

String databaseName;
String simpleTableName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@
import org.apache.tajo.plan.expr.AlgebraicUtil;
import org.apache.tajo.plan.expr.EvalNode;
import org.apache.tajo.plan.logical.*;
import org.apache.tajo.plan.util.PlannerUtil;
import org.apache.tajo.plan.visitor.BasicLogicalPlanVisitor;
import org.apache.tajo.util.TUtil;

import java.util.*;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Stack;

/**
* Tajo's logical planner can generate different shapes of logical plans for the same query,
Expand All @@ -41,26 +41,11 @@
public class ExplainPlanPreprocessorForTest {
private static final PlanShapeFixerContext shapeFixerContext = new PlanShapeFixerContext();
private static final PlanShapeFixer shapeFixer = new PlanShapeFixer();
private static final PidCollectorContext collectorContext = new PidCollectorContext();
private static final JoinPidCollector joinPidCollector = new JoinPidCollector();
private static final PidReseterContext resetContext = new PidReseterContext();
private static final JoinPidReseter joinPidReseter = new JoinPidReseter();

public void prepareTest(LogicalPlan plan) throws PlanningException {
// Plan shape fixer
shapeFixerContext.reset();
shapeFixer.visit(shapeFixerContext, plan, plan.getRootBlock());

/*
* During join order optimization, new join nodes are created based on the chosen join order.
* So, they have different pids for each query execution.
* JoinPidCollector and JoinPidReseter reset the pids of join nodes.
*/
collectorContext.reset();
joinPidCollector.visit(collectorContext, plan, plan.getRootBlock());

resetContext.reset(collectorContext.joinPids);
joinPidReseter.visit(resetContext, plan, plan.getRootBlock());
}

private static class PlanShapeFixerContext {
Expand Down Expand Up @@ -150,18 +135,6 @@ public LogicalNode visitJoin(PlanShapeFixerContext context, LogicalPlan plan, Lo
int rightChildNum = context.childNumbers.pop();
int leftChildNum = context.childNumbers.pop();

if (PlannerUtil.isCommutativeJoin(node.getJoinType())) {

if (leftChildNum < rightChildNum) {
swapChildren(node);
} else if (leftChildNum == rightChildNum) {
if (node.getLeftChild().getOutSchema().toString().compareTo(node.getRightChild().getOutSchema().toString()) <
0) {
swapChildren(node);
}
}
}

if (node.hasTargets()) {
node.setTargets(sortTargets(node.getTargets()));
}
Expand Down Expand Up @@ -200,12 +173,6 @@ private Target[] sortTargets(Target[] targets) {
Arrays.sort(targets, targetComparator);
return targets;
}

private static void swapChildren(JoinNode node) {
LogicalNode tmpChild = node.getLeftChild();
node.setLeftChild(node.getRightChild());
node.setRightChild(tmpChild);
}
}

public static class ColumnComparator implements Comparator<Column> {
Expand All @@ -232,52 +199,4 @@ public int compare(Target o1, Target o2) {
}
}

private static class PidCollectorContext {
List<Integer> joinPids = TUtil.newList();
public void reset() {
joinPids.clear();
}
}

/**
* {@link JoinPidCollector} collects the pids of all join
* nodes.
*/
private static class JoinPidCollector extends BasicLogicalPlanVisitor<PidCollectorContext, LogicalNode> {

@Override
public LogicalNode visitJoin(PidCollectorContext context, LogicalPlan plan, LogicalPlan.QueryBlock block,
JoinNode node, Stack<LogicalNode> stack) throws PlanningException {
context.joinPids.add(node.getPID());
super.visitJoin(context, plan, block, node, stack);

return null;
}
}

private static class PidReseterContext {
List<Integer> joinPids;

public void reset(List<Integer> joinPids) {
this.joinPids = joinPids;
Collections.sort(this.joinPids);
}
}

/**
* {@link JoinPidReseter} resets pids of join nodes with the pids collected by {@link JoinPidCollector} in ascending
* order while traversing the query plan.
*/
private static class JoinPidReseter extends BasicLogicalPlanVisitor<PidReseterContext, LogicalNode> {

@Override
public LogicalNode visitJoin(PidReseterContext context, LogicalPlan plan, LogicalPlan.QueryBlock block,
JoinNode node, Stack<LogicalNode> stack) throws PlanningException {
super.visitJoin(context, plan, block, node, stack);
node.setPID(context.joinPids.remove(0));

return null;
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public static void classTearDown() throws ServiceException {
}

@Test
@Option(withExplain = true, withExplainGlobal = true, parameterized = true)
@Option(withExplain = true, withExplainGlobal = true, parameterized = true, sort = true)
@SimpleTest(queries = {
@QuerySpec("select n_name, r_name, n_regionkey, r_regionkey from nation, region order by n_name, r_name"),
// testCrossJoinWithAsterisk
Expand All @@ -64,7 +64,7 @@ public final void testCrossJoin() throws Exception {
}

@Test
@Option(withExplain = true, withExplainGlobal = true, parameterized = true)
@Option(withExplain = true, withExplainGlobal = true, parameterized = true, sort = true)
@SimpleTest()
public final void testCrossJoinWithThetaJoinConditionInWhere() throws Exception {
runSimpleTests();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,6 @@ public final void testLeftOuterWithEmptyTable() throws Exception {
runSimpleTests();
}

// TODO: this test is disabled due to a bug in broadcast join. It will be enabled after TAJO-1553
@Test
@Option(withExplain = true, withExplainGlobal = true, parameterized = true)
@SimpleTest(queries = {
Expand All @@ -363,7 +362,6 @@ public final void testRightOuterJoinPredicationCaseByCase1() throws Exception {
runSimpleTests();
}

// TODO: this test is disabled due to a bug in broadcast join. It will be enabled after TAJO-1553
@Test
@Option(withExplain = true, withExplainGlobal = true, parameterized = true)
@SimpleTest(queries = {
Expand All @@ -382,7 +380,6 @@ public final void testRightOuterJoinPredicationCaseByCase2() throws Exception {
runSimpleTests();
}

// TODO: this test is disabled due to a bug in broadcast join. It will be enabled after TAJO-1553
@Test
@Option(withExplain = true, withExplainGlobal = true, parameterized = true)
@SimpleTest(queries = {
Expand All @@ -397,7 +394,6 @@ public final void testRightOuterJoinPredicationCaseByCase3() throws Exception {
runSimpleTests();
}

// TODO: this test is disabled due to a bug in broadcast join. It will be enabled after TAJO-1553
@Test
@Option(withExplain = true, withExplainGlobal = true, parameterized = true, sort = true)
@SimpleTest(queries = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,15 @@ public final void case3() throws Exception {
|-eb_1404143727281_0002_000005
|-eb_1404143727281_0002_000004 (order by)
|-eb_1404143727281_0002_000003 (join)
|-eb_1404143727281_0002_000002 (scan)
|-eb_1404143727281_0002_000001 (scan, filter)
|-eb_1404143727281_0002_000002 (scan, filter)
|-eb_1404143727281_0002_000001 (scan)
*/
res = executeQuery();

// in/out * stage(4)
long[] expectedNumRows = new long[]{2, 2, 5, 5, 7, 2, 2, 2};
long[] expectedNumBytes = new long[]{8, 34, 20, 75, 109, 34, 34, 18};
long[] expectedReadBytes = new long[]{8, 8, 20, 20, 109, 0, 34, 0};
long[] expectedNumRows = new long[]{5, 5, 2, 2, 7, 2, 2, 2};
long[] expectedNumBytes = new long[]{20, 75, 8, 34, 109, 34, 34, 18};
long[] expectedReadBytes = new long[]{20, 20, 8, 8, 109, 0, 34, 0};

assertStatus(4, expectedNumRows, expectedNumBytes, expectedReadBytes);
} finally {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
select sum(b.l_quantity)
from (
select a.l_orderkey, a.l_quantity
select a.l_orderkey, a.l_quantity, a.l_linenumber
from lineitem a
join part on a.l_partkey = p_partkey) b
join orders c on c.o_orderkey = b.l_orderkey
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ select a.l_orderkey, b.c_custkey, b.c_name, b.c_nationkey, d.n_name
from lineitem a
left outer join customer b on a.l_orderkey = b.c_custkey
left outer join orders c on b.c_custkey = c.o_custkey
left outer join nation d on a.l_orderkey = d.n_nationkey
left outer join nation d on a.l_orderkey = d.n_nationkey
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ SORT(6)
=> target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)
=> out schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
=> in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
SCAN(0) on default.lineitem
=> target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
=> out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
=> in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}
SCAN(1) on default.orders
=> target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)
=> out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
=> in schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)}
SCAN(0) on default.lineitem
=> target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
=> out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
=> in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}
explain
-------------------------------
-------------------------------------------------------------------------------
Expand Down Expand Up @@ -105,14 +105,14 @@ SORT(26)
=> target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)
=> out schema: {(3) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4)}
=> in schema: {(4) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
SCAN(0) on default.lineitem
=> target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
=> out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
=> in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}
SCAN(1) on default.orders
=> target list: default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)
=> out schema: {(2) default.orders.o_custkey (INT4), default.orders.o_orderkey (INT4)}
=> in schema: {(9) default.orders.o_clerk (TEXT), default.orders.o_comment (TEXT), default.orders.o_custkey (INT4), default.orders.o_orderdate (TEXT), default.orders.o_orderkey (INT4), default.orders.o_orderpriority (TEXT), default.orders.o_orderstatus (TEXT), default.orders.o_shippriority (INT4), default.orders.o_totalprice (FLOAT8)}
SCAN(0) on default.lineitem
=> target list: default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)
=> out schema: {(2) default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4)}
=> in schema: {(16) default.lineitem.l_comment (TEXT), default.lineitem.l_commitdate (TEXT), default.lineitem.l_discount (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_linenumber (INT4), default.lineitem.l_linestatus (TEXT), default.lineitem.l_orderkey (INT4), default.lineitem.l_partkey (INT4), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_receiptdate (TEXT), default.lineitem.l_returnflag (TEXT), default.lineitem.l_shipdate (TEXT), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_suppkey (INT4), default.lineitem.l_tax (FLOAT8)}

=======================================================
Block Id: eb_0000000000000_0000_000010 [ROOT]
Expand Down
Loading